我正在尝试将数据从 excel 表加载到 Windows 8.1 上 MYSQL 5.6 的下表中,但出现“日期时间值不正确:”错误。
学期日期列是 DATETIME 数据类型,并且我试图插入到表格中的 Excel 工作表中的数据具有空值。
我做了一些研究,发现问题出在 SQL 严格模式上。但我无法弄清楚如何禁用或修改 SQL 严格模式。
我实际上尝试了这个 SET SESSION sql_mode='ALLOW_INVALID_DATES'
但没有成功。
有人说在安装目录中编辑 my.ini 文件会有帮助,但我无法在安装目录中找到它。
谁能帮我解决这个问题。
create table EMPLOYEE(EMP_ID integer(10),
EMP_NAME char(25),
SALARY integer(25),
START_DATE datetime,
TERM_DATE datetime DEFAULT '1900-01-01',
PRIMARY KEY (EMP_ID));
错误信息:
15:23:08 INSERT INTO `mith`.`EMPLOYEE` (`EMP_ID`, `EMP_NAME`, `SALARY`, `START_DATE`, `TERM_DATE`) VALUES ('26', 'Will Banker', '90000', '00:00.0', '') 1292: Incorrect datetime value: '' for column 'TERM_DATE' at row 1
最佳答案
在 MySQL 中,''
(空字符串)不同于 null
。如果你想要一个 null
值,你应该使用显式的 null
:
INSERT INTO `mith`.`EMPLOYEE`
(`EMP_ID`, `EMP_NAME`, `SALARY`, `START_DATE`, `TERM_DATE`)
VALUES ('26', 'Will Banker', '90000', '00:00.0', null)
关于mysql - 1292 : Incorrect datetime value: '' for column at row 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28530195/