添加一列需要另一列的默认值?

Adding a column requires a default value for another column?

我正在向 table 添加一列,但它告诉我我没有为 table;

的另一列设置默认值
ALTER TABLE `myDatabase`.`myTable` ADD myNewColumn varchar(2);

给我回复

ERROR 1067 (42000): Invalid default value for 'modifiedDate'

我不明白为什么我需要为列设置默认值,而我只是在更改 table?

问题出在我的 table 定义上,而不是命令本身。

table 的修改日期设置不正确我假设,我将其更改为使用 CURRENT_TIMESTAMP 而不是使用以下命令

ALTER TABLE myTable MODIFY column modifiedDate timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP;

在此之后一切正常。下面是之前这一行的描述:

|领域 |类型 |空|键 |默认<br> |修改日期 |时间戳 |否 | | 0000-00-00 00:00:00

之后:

|领域 |类型 |空|键 |默认<br> |修改日期 |时间戳 |否 | | CURRENT_TIMESTAMP