我正在研究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
的数据答案 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';