我正在尝试将一个列添加到一个表中,该表的字段为空,既不是“0”也不是“null”。
"ALTER TABLE `mytable` ADD COLUMN `newcolumn` INT NOT NULL"
使所有字段为“0”。我也试过了DEFAULT=''
选项,但是这个列甚至没有添加。那么如何实现真正空白的领域?
答案 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