如何解决我可以在 Postgres 的添加列语句中创建命名的默认约束吗?
我是 Postgres 的新手,想知道是否可以在 Postgresql 中创建一个命名的默认值约束。我在 sqlServer Can I create a named default constraint in an add column statement in SQL Server? 中发现了类似的东西,但在 Postgresql 中找不到相同的东西。
为了提供一些上下文,我正在尝试向表中添加一列,并且在添加时我正在尝试将此命名约束添加到该列中。
任何帮助将不胜感激。
提前致谢
解决方法
像这样:
\d foo
Table "public.foo"
Column | Type | Collation | Nullable | Default
----------+---------+-----------+----------+---------
fooid | integer | | |
foosubid | integer | | |
fooname | text | | |
alter table foo add column bar varchar constraint u2_idx UNIQUE;
ALTER TABLE
\d foo
Table "public.foo"
Column | Type | Collation | Nullable | Default
----------+-------------------+-----------+----------+---------
fooid | integer | | |
foosubid | integer | | |
fooname | text | | |
bar | character varying | | |
Indexes:
"u2_idx" UNIQUE CONSTRAINT,btree (bar)
更新。 要更接近您链接到的帖子所显示的内容:
alter table foo add column baz varchar default '' constraint nn_constraint NOT NULL;
\d foo
Table "public.foo"
Column | Type | Collation | Nullable | Default
----------+-------------------+-----------+----------+-----------------------
fooid | integer | | |
foosubid | integer | | |
fooname | text | | |
bar | character varying | | |
baz | character varying | | not null | ''::character varying
Indexes:
"u2_idx" UNIQUE CONSTRAINT,btree (bar)
虽然 NOT NULL
约束实际上并没有被命名。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。