Postgres中的default和set default之间有什么区别?

时间:2018-08-29 22:09:03

标签: postgresql default alter postgres-9.6 setdefault

我是Postgres的新手,我正尝试在Postgres中使用以下查询:

alter table tablename add column col1 enum('r', 'g', 'b') not null set default 'r';

这给我一个错误。当我将其更改为default而不是set default时,它可以正常工作。

只想知道原因是什么!

1 个答案:

答案 0 :(得分:4)

至于“为什么起作用”?

我怀疑您是通过以下两种方式之一使用它的:

alter table tablename add column col1 text default 'r';

alter table tablename alter column col1 set default 'r';

请注意,前者通过添加具有默认值的列来更改表,而后者则已经存在,并且您可以通过设置默认值来更改列。

您可以在create tablealter table

中找到有关默认值的更多信息。