将空(null)字段添加到mysql表

时间:2013-01-16 13:12:46

标签: php mysql

我正在尝试将一个列添加到一个表中,该表的字段为空,既不是“0”也不是“null”。

"ALTER TABLE `mytable` ADD COLUMN `newcolumn` INT NOT NULL"

使所有字段为“0”。我也试过了DEFAULT=''选项,但是这个列甚至没有添加。那么如何实现真正空白的领域?

5 个答案:

答案 0 :(得分:1)

你不能

INTEGER列的唯一有效值是数字和NULL。您不能简单地定义DEFAULT '',因为''已经是空字符串。

ALTER TABLE `mytable` ADD COLUMN `newcolumn` INT DEFAULT 0

答案 1 :(得分:1)

您正在添加INT字段。它可能是NULL或0,但它不能是空字符串,因为它是一个字符串,而不是一个数字。

答案 2 :(得分:1)

您已指定NOT NULL。这意味着字段不能为空,即空。

如果您想要“真正空白”字段,请将列规范更改为:

 "ALTER TABLE `mytable` ADD COLUMN `newcolumn` INT NULL"

答案 3 :(得分:0)

刚试过这个并且有效。

ALTER TABLE  `__test` ADD  `test_column` INT NULL

答案 4 :(得分:0)

我试试这段代码:

create table test( a int )

insert into test(a) values (1),(2),(3)

ALTER TABLE test ADD b INT NOT NULL DEFAULT 0