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

Sil*_*ght 113 postgresql

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

我试过了:

ALTER TABLE ONLY users ALTER COLUMN lang DEFAULT 'en_GB';
Run Code Online (Sandbox Code Playgroud)

但它给了我一个错误:

ERROR: syntax error at or near "DEFAULT"
Run Code Online (Sandbox Code Playgroud)

Sil*_*ght 218

'SET'被遗忘了

ALTER TABLE ONLY users ALTER COLUMN lang SET DEFAULT 'en_GB';
Run Code Online (Sandbox Code Playgroud)

  • "如果在表名之前指定了ONLY,则只更改该表.如果未指定ONLY,则表及其所有后代表(如果有)将被更改"http://www.postgresql.org/docs/9.3/静态/ SQL-altertable.html (16认同)
  • 在表名之前使用"ONLY"是什么? (10认同)

Sal*_*ali 73

如果要删除默认值约束,可以执行以下操作:

ALTER TABLE <table> ALTER COLUMN <column> DROP DEFAULT;
Run Code Online (Sandbox Code Playgroud)