Postgres 中的默认值和设置默认值有什么区别?
What's the difference between default and set default in Postgres?
我是 Postgres 的新手,我正在尝试在 Postgres 中使用以下查询:
alter table tablename add column col1 enum('r', 'g', 'b') not null set default 'r';
它给我一个错误。当我将它更改为 default
而不是 set default
时,它工作正常。
只是想知道可能是什么原因!
至于"why does it work"?
我怀疑您是通过以下两种方式之一使用它的:
alter table tablename add column col1 text default 'r';
和
alter table tablename alter column col1 set default 'r';
请注意,前者通过添加具有默认值的列来更改 table,而在后者中,该列已经存在,您可以通过设置默认值来更改该列。
您可以在 create table and alter table
中找到有关默认值的更多信息
我是 Postgres 的新手,我正在尝试在 Postgres 中使用以下查询:
alter table tablename add column col1 enum('r', 'g', 'b') not null set default 'r';
它给我一个错误。当我将它更改为 default
而不是 set default
时,它工作正常。
只是想知道可能是什么原因!
至于"why does it work"?
我怀疑您是通过以下两种方式之一使用它的:
alter table tablename add column col1 text default 'r';
和
alter table tablename alter column col1 set default 'r';
请注意,前者通过添加具有默认值的列来更改 table,而在后者中,该列已经存在,您可以通过设置默认值来更改该列。
您可以在 create table and alter table
中找到有关默认值的更多信息