用Mysql5.x以上版本出现报错#1929 Incorrect datetime value: '' for column 'createtime' 解决方法

我的mysql安装后,保存删除表数据总是出现#1929 Incorrect datetime value: '' for column 'createtime' 的报错提醒,导致不能删除表里数据;

原因:

5以上的版本如果时期时间是空值应该要写NULL;

官方解释说:得知新版本mysql对空值插入有"bug",

要在安装mysql的时候去除默认勾选的enable strict SQL mode

那么如果我们安装好了mysql怎么办了,解决办法是更改mysql中的配置 my.ini

解决方法:

修改my.ini配置文件,建议修改前新备份下,

my.ini中查找sql-mode

我的MySQL版本为5.7.9,默认为:

sql-mode="STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,NO_ZERO_IN_DATE,NO_AUTO_CREATE_USER"

将红色标注的NO_ZERO_DATE,NO_ZERO_IN_DATE,删掉保存重启mysql即可;

如果版本低的话默认可能是:

默认为sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION",

将红色标注的STRICT_TRANS_TABLES,删掉保存重启mysql即可;


如果帮到了你,请点下赞,以作鼓励。



你可能感兴趣的:(apche+php+mysql)