如何在PostgreSQL中更改列的默认值?

204

如何在PostgreSQL中更改列默认值?

我已经尝试过:

ALTER TABLE ONLY users ALTER COLUMN lang DEFAULT 'en_GB';

但是它给了我一个错误:

ERROR: syntax error at or near "DEFAULT"
2个回答

389

'SET' 被忘记了

ALTER TABLE ONLY users ALTER COLUMN lang SET DEFAULT 'en_GB';

27
在表名前加上“ONLY”是用来限定只从该表中获取数据,而不包括使用该表的任何子查询或联接。 - Nik Sumeiko
34
如果在表名前面指定了"ONLY",那么只有该表会被修改。如果没有指定"ONLY",则该表以及所有子孙表(如果有)都会被修改。 - Yodan Tauber

125

如果你想移除默认值约束,可以执行以下操作:

ALTER TABLE <table> ALTER COLUMN <column> DROP DEFAULT;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接