为mysql中的boolean列中的先前值插入的NULL值

时间:2017-03-14 09:11:49

标签: mysql null boolean alter

我在MySQL表中添加了一个新列,如下所示:

alter table result add column failed boolean default 0;

虽然表中的先前记录在失败字段中获得NULL值,但这种方法很好。如果字段数据类型是布尔值并且默认设置为0,我不确定这是怎么可能的。

有人可以提供帮助

3 个答案:

答案 0 :(得分:0)

它设置为null,因为您在添加列之前插入了这些行,默认值仅适用于新插入。您可以更新失败为null的结果表中的所有值,并将其设置为0以解决问题。

UPDATE result SET failed = 0 WHERE failed = null;

答案 1 :(得分:0)

这是如何使用它

ALTER boolColumn SET DEFAULT 0;

答案 2 :(得分:0)

您现有数据未获取默认值的原因是您要将列添加为NULL。这意味着只有新数据才能获得默认值。如果要为现有数据设置默认值,则应添加NOT NULL列:

ALTER TABLE result
ADD COLUMN failed BOOLEAN NOT NULL DEFAULT 0;