时间:2021-05-04 10:47:25 | 栏目:Mysql | 点击:次
我的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即可;