我想更新我的数据库(里面已经有数据),并向表中添加一列
这个新列是一个日期,我不希望它为 null 也没有默认值。
由于我已经在数据库中有数据,mysql 不允许我插入非空数据,所以我正在尝试插入一列空可能,插入我的所有数据,然后将其设置为不空,如下所示
ALTER TABLE `Test`.`rct`
ADD COLUMN `dte` DATE NULL AFTER `id`;
--Insert logic here, and now every single rows has a value
ALTER TABLE `Test`.`rct`
MODIFY `dte` DATE NOT NULL AFTER `id`;
但是当我这样做时,我在以下位置收到此错误:不正确的日期值:"0000-00-00"列
但是我检查,再检查,没有0000-00-00值无处可去
那么如何在不将其设置为默认值的情况下将该列设置为 null?
谢谢。
所以,如果我不修改位置(在 id 之后),出于某种原因,它会起作用!
ALTER TABLE `Test`.`rct`
MODIFY `dte` DATE NOT NULL;
不知道为什么...但是当我做一个描述时,我得到了我想要的。