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

本文介绍了解决MySQL安装后,删除表数据时出现#1929错误的方法。此错误通常发生在5.7.9及以上版本,原因是日期时间字段为空值未正确设置为NULL。解决步骤包括修改my.ini配置文件中的sql-mode选项,去除特定限制,重启MySQL服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值