AlterColumn默认值在Postgres中不起作用

时间:2019-09-13 09:56:42

标签: postgresql

我尝试使用postgres中的以下查询更新列的默认值。但似乎它不起作用。可能是我缺少了一些东西。你能帮忙吗?

ALTER TABLE tableName ADD COLUMN newColumn INTEGER DEFAULT 0;

 ALTER TABLE tableName ALTER COLUMN newColumn DROP DEFAULT;

 ALTER TABLE tableName ALTER COLUMN newColumn SET DEFAULT NULL;

 SELECT * FROM tableName;

在这里我仍然找到0。

1 个答案:

答案 0 :(得分:1)

更改仅适用于新记录。修改后,您必须通过以下迁移来修复所有先前的数据:

UPDATE tableName SET newColumn = NULL WHERE newColumn = 0