Mysql 更改表日期不为空



我想更新我的数据库(里面已经有数据),并向表中添加一列

这个新列是一个日期,我不希望它为 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;

不知道为什么...但是当我做一个描述时,我得到了我想要的。

相关内容

  • 没有找到相关文章

最新更新