Incorrect datetime value: '0000-00-00 00:00:00' for column的解决

我的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即可;
--------------------- 
作者:月光如注 
来源:CSDN 
原文:https://blog.csdn.net/leesin2011/article/details/54634693 
版权声明:本文为博主原创文章,转载请附上博文链接!

////////////////////////////////////////////以下为原理////////////////////////////

https://www.cnblogs.com/huanhang/p/7050757.html

你可能感兴趣的:(web)