2

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

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

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

只是想知道可能是什么原因!

4

1 回答 1

4

至于“为什么有效”?

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

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

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

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

您可以在create tablealter table中找到有关默认值的更多信息

于 2018-08-29T22:32:52.900 回答