0

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

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

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

4

5 回答 5

1

你不能

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

ALTER TABLE `mytable` ADD COLUMN `newcolumn` INT DEFAULT 0
于 2013-01-16T13:13:50.580 回答
1

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

于 2013-01-16T13:16:43.620 回答
1

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

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

 "ALTER TABLE `mytable` ADD COLUMN `newcolumn` INT NULL"
于 2013-01-16T13:18:45.923 回答
0

刚刚测试过这个并且可以工作。

ALTER TABLE  `__test` ADD  `test_column` INT NULL
于 2013-01-16T13:16:45.610 回答
0

我试试这段代码:

create table test( a int )

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

ALTER TABLE test ADD b INT NOT NULL DEFAULT 0
于 2013-01-16T13:29:41.153 回答