MySQL - 将旧的默认日期时间值更新为新的默认值

时间:2017-11-15 03:58:57

标签: mysql phpmyadmin

我正在研究mysql的数据库版本,他们使用这个版本的日期时间列,默认值设置为0000-00-00 00:00:00。现在我一直在使用新的默认日期时间值1000-00-00 00:00:00创建新表。当我尝试INSERT并加入两个表时我发现​​了这个错误:

#1292 - Incorrect datetime value: '0000-00-00 00:00:00' for column 'process_date' at row 1

所以要解决此问题,我尝试使用此代码

UPDATE tableA
SET process_date = '1000-01-01 00:00:00'
WHERE process_date = '0000-00-00 00:00:00';

并且给我与上面相同的错误,我有很多行,我不想手动设置它们..任何建议?

TableA(具有旧默认日期值的旧表)和TableB(新)具有相同的结构,而TableA是源。我需要TableA INSERT到TableB

的数据

1 个答案:

答案 0 :(得分:0)

在这篇关于stackoverflow的文章中 MySQL Incorrect datetime value: '0000-00-00 00:00:00'

我用这段代码修复了我的更新问题

更新表A. SET process_date =' 1000-01-01 00:00:00' 在哪里CAST(process_date AS CHAR(20))=' 0000-00-00 00:00:00';