我正在使用mysql的数据库版本,在该版本中它们使用的日期时间列的默认值设置为0000-00-00 00:00:00。现在,我正在使用新的默认日期时间值1000-00-00 00:00:00创建新表。当我尝试插入并联接两个表时,出现此错误:

#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插入到TableB中

最佳答案

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

我用这段代码来解决我的更新问题

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

关于mysql - MySQL-将旧的默认日期时间值更新为新的默认值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47299130/

10-09 07:37