【发布时间】:2015-08-12 03:29:33
【问题描述】:
我已阅读以下问题:
- When to use single quotes, double quotes, and backticks in MySQL
- MySQL error #1054 - Unknown column in 'Field List'
- (1054)Unknown column in 'field list' - Mysql Error
和一些谷歌建议的链接。没有线索。
这是我的情况。 我在 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 脚本将失败......
上面的截图来自运行插入 SQL 脚本的 HeidiSQL,所以问题不是来自 PHP。
问题是,我如何消除这个错误?
我已经仔细检查了错误输入的current_timestamp(双'r')作为curent_timestamp(单'r'),检查并重新检查了反引号、未闭合的单引号和双引号、触发器和列默认值。还是没有头绪。
Google 没有任何提示,因此这里的任何想法都将受到高度赞赏。谢谢。
【问题讨论】:
标签: php mysql mariadb mysql-error-1054