Mysql alter table add列后的datetime值不正确
我正在尝试将int字段添加到我的表中:Mysql alter table add列后的datetime值不正确,mysql,Mysql,我正在尝试将int字段添加到我的表中: ALTER TABLE `hisData` ADD COLUMN `hisID2` INT NULL DEFAULT NULL AFTER `hisID`; 但我得到一个mysql错误: SQL Error (1292): Incorrect datetime value: '1899-00-É5 É5:É5:É5' for column 'timeImported' at row 7264593 *** 我已经运行了一个修复(先快速,然后正常
ALTER TABLE `hisData`
ADD COLUMN `hisID2` INT NULL DEFAULT NULL AFTER `hisID`;
但我得到一个mysql错误:
SQL Error (1292): Incorrect datetime value: '1899-00-É5 É5:É5:É5' for column 'timeImported' at row 7264593
***
我已经运行了一个修复(先快速,然后正常,然后扩展),但它似乎并没有解决这个问题
很明显,一行一行的解决这个问题是不现实的。关于如何修复损坏的线路有什么想法吗
松开损坏的线路不会有什么大不了的。解决了这个问题
ALTER TABLE `hisData` MODIFY `timeImported` varchar(20);
然后
这让我不再约会了
可能会在更改之前找到最小和最大日期,然后选择比切换到varchar后的日期更小或更大的日期来查找大多数问题(但不一定全部)但我并不担心此表中的数据丢失。您的timeImported列中的datetime值不正确,该列以1899-00-开头。您有一些选择:
ALTER IGNORE TABLE `hisData` MODIFY `timeImported` datetime;