Postgresql:相同高级键中的唯一值但直接子键不同
Postgresql: unique value within the same high-level key(s) but different directly subkey
我有一个 table 这样的:
CREATE TABLE IF NOT EXISTS tt
(key1 integer
,key2 integer
,data varchar(8)
,CONSTRAINT cst_tt_key1_key2 UNIQUE (key1, key2)
);
CREATE INDEX idx_tt_data_trigram
ON data
USING gist(data gist_trgm_ops);
我想在 key1
的相同值下具有 data
的唯一值。
按顺序来说,可能有以下记录。
1, 1, "Postgres"
2, 1, "Postgres"
但是,以下记录是不允许的。
1, 1, "Postgres"
1, 2, "Postgres"
知道如何使用 CHECK
或 CONSTRAINT
吗?
只需创建一个唯一索引。
create unique index on tt(key1, data)
我有一个 table 这样的:
CREATE TABLE IF NOT EXISTS tt
(key1 integer
,key2 integer
,data varchar(8)
,CONSTRAINT cst_tt_key1_key2 UNIQUE (key1, key2)
);
CREATE INDEX idx_tt_data_trigram
ON data
USING gist(data gist_trgm_ops);
我想在 key1
的相同值下具有 data
的唯一值。
按顺序来说,可能有以下记录。
1, 1, "Postgres"
2, 1, "Postgres"
但是,以下记录是不允许的。
1, 1, "Postgres"
1, 2, "Postgres"
知道如何使用 CHECK
或 CONSTRAINT
吗?
只需创建一个唯一索引。
create unique index on tt(key1, data)