添加一列需要另一列的默认值?
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
我正在向 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