私はid1とid2の2つの列を持つテーブルを持っています。PostgreSQLの接続の制約
たとえば、私がこれらの列にそれぞれfoo-barを持っていれば、入力bar-fooを禁止するという制約が必要です。
ありがとうございます!
私はid1とid2の2つの列を持つテーブルを持っています。PostgreSQLの接続の制約
たとえば、私がこれらの列にそれぞれfoo-barを持っていれば、入力bar-fooを禁止するという制約が必要です。
ありがとうございます!
CREATE TABLE mytable(
id1 integer,
id2 integer
);
CREATE UNIQUE INDEX ON mytable(least(id1, id2), greatest(id1, id2));
これはトリックDDOする必要があります?
test=> INSERT INTO mytable VALUES (1, 2);
INSERT 0 1
test=> INSERT INTO mytable VALUES (1, 3);
INSERT 0 1
test=> INSERT INTO mytable VALUES (2, 1);
ERROR: duplicate key value violates unique constraint "mytable_least_greatest_idx"
DETAIL: Key ((LEAST(id1, id2)), (GREATEST(id1, id2)))=(1, 2) already exists.
あなたが実行しているバージョン.. –
私は、PostgreSQL 9.6.2 – zlaayaa