在Windows8.1的MySQL5.6上,我试图将数据从excel工作表加载到下表,但得到了“不正确的datetime值”错误。
term date列是datetime数据类型,并且该数据在我试图插入到表中的excel表中具有空值。
我做了一些研究,发现问题出在sql严格模式上。但是我不知道如何禁用或修改sqlstrict模式。
事实上我试过这个 SET SESSION sql_mode='ALLOW_INVALID_DATES'
但运气不好。
有人说在安装目录中编辑我的.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
3条答案
按热度按时间roejwanj1#
尝试用0000-00-00替换excel中的空值。我没有用excel尝试过,但它适用于csv文件。进口
uqdfh47h2#
我用命令解决了一个类似的问题:
和
在mysql提示符下。
6gpjuf903#
在mysql中,
''
(空字符串)与null
. 如果你想要一个null
值时,应使用显式null
: