Mysql alter table date not null

时间:2014-02-12 17:01:42

标签: mysql date null alter

我希望更新我的数据库(已包含数据),并向表中添加一列

这个新列是一个日期,我不希望它为null也没有默认值。

由于我已经在数据库中有数据,mysql将不允许我插入非空数据,所以我正在尝试插入一个null null,插入我的所有数据,然后将其设置为not null像这样

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'

但我检查,并且重新检查,没有任何值的价值

那么如何在不将其设置为默认值的情况下将该列设置为null?

谢谢。

1 个答案:

答案 0 :(得分:0)

所以,如果我不修改位置(在id之后),由于某种原因,它会起作用!

ALTER TABLE `Test`.`rct` 
MODIFY `dte` DATE NOT NULL;

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