MySQL 5.7数据库新增字段报 Incorrect date value: '0000-00-00' for column 'endtime' at row 2的问题

在数据库执行 ALTER TABLE `smt_announce` ADD `ischildarea` tinyint(1) DEFAULT '0' COMMENT '是否下发到子区域站点0:否;1:是';报以上错误

是因为数据库里的记录的 endtime字段,存在0000-00-00这样的值. 

所有把这些0000-00-00值改为正常值如2012-12-12

但执行

UPDATE `smt_announce` SET `starttime` = '2017-12-11' WHERE `smt_announce`.`starttime` = '0000-00-00';

还会报以上的错,这时需要执行

UPDATE `smt_announce` SET `endtime` = '2017-12-11' WHERE CAST(endtime AS CHAR(10)) = '0000-00-00';

就解决了.

原创文章,转载请注明来自Lenix的博客,地址 http://blog.p2hp.com/archives/5321

最后更新于 2018年10月2日

MySQL 5.7数据库新增字段报 Incorrect date value: ‘0000-00-00’ for column ‘endtime’ at row 2的问题
标签: