无法更改 MYSQL 表(陷入无效的默认值循环)

res*_*ing 3 mysql default-value alter-table

我如何有 2 列的默认值不正确。当我从另一个来源导入数据库时​​,不确定它是如何首先创建的。

现在的问题是,我无法对表进行任何更改,因为 MYSQL 会抱怨:

MySQL 说:“campaign_start_date”的默认值无效

如果我尝试添加一列。

但是当我尝试将DEFAULT VALUEto更改为CURRENT_TIMESTAMPfor 时campaign_start_date,它抱怨campaign_end_date有一个无效的默认值。

所以我陷入了一个循环,不允许我对表进行任何更改。

有没有什么办法解决这一问题?

Phi*_*lᵀᴹ 9

尝试同时更改两列默认值:

ALTER TABLE yourtable 
    CHANGE campaign_start_date campaign_start_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    CHANGE campaign_end_date campaign_end_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
Run Code Online (Sandbox Code Playgroud)