MySQL 错误 1054:字段列表中的未知列 'curent_timestamp'
MySQL Error 1054: Unknown Column 'curent_timestamp' in field list
我已经阅读了这些问题:
- 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
和一些 google 建议的链接。没头绪。
这是我的情况。
我有一个 table、inkubator_pinjam,在 MariaDB 10.0 中定义为
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 以将数据添加到 table:
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
这对我来说似乎很奇怪。但是数据插入有效,尽管数据存在于 table 中。这对我来说是个大问题,因为数据插入有效,但 MySQL 向 PHP 报告发生错误,我的 PHP 脚本将失败...
上面的截图是从 HeidiSQL 运行 插入 SQL 脚本截取的,所以问题不是来自 PHP.
问题是,我该如何消除这个错误?
我仔细检查了输入错误的 current_timestamp
(双 'r')作为 curent_timestamp
(单 'r'),检查并重新检查了反引号、未闭合的单引号和双引号、触发器和列默认值。还是没头绪。
Google 没有提示,所以这里的任何想法都将受到高度赞赏。谢谢。
倒数第三行
添加下面两行作为测试,删除备注字符:
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'
);
我已经阅读了这些问题:
- 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
和一些 google 建议的链接。没头绪。
这是我的情况。 我有一个 table、inkubator_pinjam,在 MariaDB 10.0 中定义为
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 以将数据添加到 table:
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
这对我来说似乎很奇怪。但是数据插入有效,尽管数据存在于 table 中。这对我来说是个大问题,因为数据插入有效,但 MySQL 向 PHP 报告发生错误,我的 PHP 脚本将失败...
上面的截图是从 HeidiSQL 运行 插入 SQL 脚本截取的,所以问题不是来自 PHP.
问题是,我该如何消除这个错误?
我仔细检查了输入错误的 current_timestamp
(双 'r')作为 curent_timestamp
(单 'r'),检查并重新检查了反引号、未闭合的单引号和双引号、触发器和列默认值。还是没头绪。
Google 没有提示,所以这里的任何想法都将受到高度赞赏。谢谢。
倒数第三行
添加下面两行作为测试,删除备注字符:
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'
);