我在MySQL表中添加了一个新列,如下所示:
alter table result add column failed boolean default 0;
虽然表中的先前记录在失败字段中获得NULL值,但这种方法很好。如果字段数据类型是布尔值并且默认设置为0,我不确定这是怎么可能的。
有人可以提供帮助
答案 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;