错误代码 1292 表示在执行 ALTER TABLE 语句时,MySQL 发现了一些行中存在无效的日期时间值 ‘0000-00-00 00:00:00’。

即使你已经将 add_date 的默认值更改为 CURRENT_TIMESTAMP,表中已有的无效值仍然会导致此错误

为了顺利执行 ALTER TABLE 语句并解决此错误,你需要先修复表中所有无效的日期时间值。

以下是详细步骤:

1、暂时关闭严格模式,允许无效的日期时间值(如果不更改模式,将无法更改 add_date 中的数据)

SET sql_mode = ‘NO_ENGINE_SUBSTITUTION’;

2、更新 add_date 字段

//将 add_time 字段的 UNIX 时间戳转换为有效的日期时间,并更新 add_date 字段。

UPDATE `lan`.`ymmfk_webchat_log`
SET `add_date` = FROM_UNIXTIME(`add_time`)
WHERE `add_date` = ‘0000-00-00 00:00:00’ OR `add_date` IS NULL;

3、恢复严格模式

SET sql_mode = ‘STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION’;

作者 admin

百度广告效果展示