我尝试使用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。
答案 0 :(得分:1)
更改仅适用于新记录。修改后,您必须通过以下迁移来修复所有先前的数据:
UPDATE tableName SET newColumn = NULL WHERE newColumn = 0