我已经在mySQL表中添加了一个新列,如下:
alter table result add column failed boolean default 0;
这可以正常工作,尽管表格中的先前记录在失败字段中获得了无效的值。我不确定如果字段数据类型是布尔值,并且默认设置为0。
,这是可能的。有人可以帮助
它设置为空,因为您在添加列之前插入了这些行,默认值仅适用于新插入。您可以在结果表中更新失败的所有值为null并将其设置为0以解决问题。
UPDATE result SET failed = 0 WHERE failed = null;
那是如何使用它
ALTER boolColumn SET DEFAULT 0;
您现有数据无法获得默认值的原因是因为您将列添加为NULL
。这意味着只有新数据将获得默认值。如果要设置现有数据的默认值,则应使用NOT NULL
添加列:
ALTER TABLE result
ADD COLUMN failed BOOLEAN NOT NULL DEFAULT 0;