【问题标题】:MySQL - Update old default datetime value to new default valueMySQL - 将旧的默认日期时间值更新为新的默认值
【发布时间】:2017-11-15 03:58:57
【问题描述】:

我正在开发 mysql 的数据库版本,他们使用日期时间列的默认值设置为 0000-00-00 00:00:00。现在我已经使用新的默认日期时间值 1000-00-00 00:00:00 创建新表。当我尝试 INSERT 和 JOIN 两个表时出现此错误:

#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 中

【问题讨论】:

标签: mysql phpmyadmin


【解决方案1】:

在这篇关于 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';

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-14
    • 2012-12-07
    • 2012-12-30
    • 2019-07-05
    • 1970-01-01
    • 1970-01-01
    • 2010-09-15
    相关资源
    最近更新 更多