我正在向表中添加一列,但它告诉我没有为表的另一列设置默认值;
ALTER TABLE `myDatabase`.`myTable` ADD myNewColumn varchar(2);
给我回应
错误 1067 (42000):“modifiedDate”的默认值无效
我不明白为什么在更改表格时需要为列设置默认值?
最佳答案
问题出在我的表定义上,而不是命令本身。
我认为该表的modifiedDate设置不正确,我将其更改为使用CURRENT_TIMESTAMP
而是使用以下命令
ALTER TABLE myTable MODIFY column modifiedDate timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP;
此后一切正常。下面是之前对这一行的描述:
| Field | Type | Null| Key | Default<br/>
| modifiedDate | timestamp | NO | | 0000-00-00 00:00:00
之后:
| Field | Type | Null| Key | Default<br/>
| modifiedDate | timestamp | NO | | CURRENT_TIMESTAMP
关于mysql - 添加一列需要另一列的默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35911633/