我有一个包含2列的表,请求使用NOT NULL约束,如下所示
Col1 | Col2 |
---|---|
Val1 | Val2 |
Val3 | Val4 |
如果新行应该是NOT NULL
,则在列定义中添加一个DEFAULT
子句:
ALTER TABLE tab
ADD COLUMN Col3 INTEGER NOT null
DEFAULT 0;
或者,省略NOT NULL
,用UPDATE
填充新列,然后将该列更改为NOT NULL
:
ALTER TABLE tab
ALTER col3 SET NOT NULL;
在对整个表执行UPDATE
之后,应该运行VACUUM (FULL) tab
来消除膨胀。