gpt4 book ai didi

postgresql - 为 PostgreSQL 中的两个唯一字段设置约束

转载 作者:行者123 更新时间:2023-11-29 11:55:45 25 4
gpt4 key购买 nike

我是 postgres 的新手。我想知道,什么是 PostgreSQL 为几个唯一值设置约束的方法(这样每一对都是唯一的)。我应该为 barbaz 字段创建一个 INDEX 吗?

CREATE UNIQUE INDEX foo ON table_name(bar, baz);

如果不是,那么正确的方法是什么?提前致谢。

最佳答案

如果每个字段本身需要唯一,则为每个字段创建唯一索引。如果它们只需要在组合中是唯一的,则在两个字段中创建一个唯一索引。

如果应该的话,不要忘记将每个字段设置为 NOT NULL。 NULL 永远不会是唯一的,所以可能会发生这样的事情:

create table test (a int, b int);
create unique index test_a_b_unq on test (a,b);
insert into test values (NULL,1);
insert into test values (NULL,1);

并且不会出错。因为这两个 NULL 不是唯一的。

关于postgresql - 为 PostgreSQL 中的两个唯一字段设置约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10784377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com