MySQL错误1054:未知列' curent_timestamp'在字段列表中

时间:2015-08-12 03:29:33

标签: php mysql mariadb mysql-error-1054

我已经阅读了这些问题:

和一些谷歌建议的链接。毫无头绪。

这是我的情况。 我在MariaDB 10.0中有一个表,inkubator_pinjam,定义为

CREATE TABLE `inkubator_pinjam` (
    `id` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
    `kode_pinjam` VARCHAR(20) NOT NULL DEFAULT '',
    `id_inkubator` BIGINT(20) NOT NULL DEFAULT '0',
    `tgl_pinjam` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    `nama_bayi` VARCHAR(75) NOT NULL DEFAULT '',
    `kembar` ENUM('Y','N') NOT NULL DEFAULT 'N',
    `tgl_lahir` DATE NULL DEFAULT NULL,
    `berat_lahir` DECIMAL(10,2) NOT NULL DEFAULT '0.00',
    `panjang_lahir` DECIMAL(10,2) NOT NULL DEFAULT '0.00',
    `kondisi` ENUM('SEHAT','SAKIT') NOT NULL DEFAULT 'SEHAT',
    `rumah_sakit` VARCHAR(50) NOT NULL DEFAULT '',
    `nama_dokter` VARCHAR(75) NOT NULL DEFAULT '',
    `tgl_pulang` DATE NULL DEFAULT NULL,
    `no_kk` VARCHAR(50) NOT NULL DEFAULT '',
    `alamat` TEXT NULL,
    `nama_ibu` VARCHAR(50) NOT NULL DEFAULT '',
    `hp_ibu` VARCHAR(20) NOT NULL DEFAULT '',
    `email_ibu` VARCHAR(50) NOT NULL DEFAULT '',
    `nama_ayah` VARCHAR(50) NOT NULL DEFAULT '',
    `hp_ayah` VARCHAR(20) NOT NULL DEFAULT '',
    `email_ayah` VARCHAR(50) NOT NULL DEFAULT '',
    `jumlah_pinjam` INT(2) NOT NULL DEFAULT '1',
    `status_pinjam` ENUM('Ditunda','Disetujui','Ditolak') NOT NULL DEFAULT 'Ditunda',
    `tgl_update_status_pinjam` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    `keterangan_status_pinjam` VARCHAR(200) NOT NULL DEFAULT '',
    `konfirmasi` ENUM('Y','N') NOT NULL DEFAULT 'N',
    PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci'
ENGINE=MyISAM
AUTO_INCREMENT=2
;

在执行此操作的AFTER DELETE事件上触发

CREATE DEFINER=`inkubator`@`localhost` TRIGGER `inkubator_pinjam_after_delete` AFTER DELETE ON `inkubator_pinjam` FOR EACH ROW BEGIN
    delete from inkubator_monitoring  where kode_pinjam = OLD.kode_pinjam;
    delete from inkubator_kembali  where kode_pinjam = OLD.kode_pinjam;
END

在PHP中,我的PHP脚本生成一个插入SQL以向表中添加数据:

insert into inkubator_pinjam ( 
        id, kode_pinjam, id_inkubator, tgl_pinjam, 
         nama_bayi, kembar, tgl_lahir, berat_lahir, 
         panjang_lahir, kondisi, rumah_sakit, 
         nama_dokter, tgl_pulang, no_kk, alamat, 
         nama_ibu, hp_ibu, email_ibu, nama_ayah, 
         hp_ayah, email_ayah, jumlah_pinjam, 
         keterangan_status_pinjam, konfirmasi 
) values ( 
        24145550156759089, '323431-343535-39', 0, CURRENT_TIMESTAMP(), 
        'DIAN KHAMSAWARNI', 'N', '2015-09-21', 3.2, 
        28, 'SEHAT', 'RSU Wahidin',
        'Dr. Marhamah, Sp.OG', '2015-09-23', '9288299288', 'BTN Hamzy E8/A', 
        'RINA MAWARNI', '+62837739938845', '', 'ARIFIN ADINEGORO', '+62837739938845', '', 1, 
        'Ditunda untuk review.', 'Y' 
);

这里出现的问题是MariaDB一直显示错误 SQL错误(1054):字段列表中的未知列curent_timestamp 这对我来说很奇怪。但是数据插入有效,表中存在数据。这对我来说是一个很大的问题,因为数据插入工作但是MySQL向PHP报告发生了错误,我的PHP脚本将失败......

enter image description here

上面的截图来自运行插入SQL脚本的HeidiSQL,因此问题不是来自PHP。

问题是,我如何删除此错误?

我已将错误输入current_timestamp(双重' r')重复检查为curent_timestamp(单一' r'),检查并重新检查反引号,未公开单引号和双引号,触发器和列默认值。仍然没有任何线索。

谷歌没有任何提示,所以任何想法都会受到高度赞赏。谢谢。

1 个答案:

答案 0 :(得分:0)

从最后一行开始的第三行

添加以下两行作为测试,删除备注字符:

insert into inkubator_pinjam ( 
        id, kode_pinjam, id_inkubator, tgl_pinjam, 
         nama_bayi, kembar, tgl_lahir, berat_lahir, 
         panjang_lahir, kondisi, rumah_sakit, 
         nama_dokter, tgl_pulang, no_kk, alamat, 
         nama_ibu, hp_ibu, email_ibu, nama_ayah, 
         hp_ayah, email_ayah, jumlah_pinjam,
         tgl_update_status_pinjam,      -- <------ ADD THIS HERE ***********
         keterangan_status_pinjam, konfirmasi 
) values ( 
        24145550156759089, '323431-343535-39', 0, CURRENT_TIMESTAMP(), 
        'DIAN KHAMSAWARNI', 'N', '2015-09-21', 3.2, 
        28, 'SEHAT', 'RSU Wahidin',
        'Dr. Marhamah, Sp.OG', '2015-09-23', '9288299288', 'BTN Hamzy E8/A', 
        'RINA MAWARNI', '+62837739938845', '', 'ARIFIN ADINEGORO', '+62837739938845', '', 1, 
        CURRENT_TIMESTAMP(), -- <------ ADD THIS HERE ***********
        'Ditunda untuk review.', 'Y' 
);