Unique mal anderst

Hallo PG’ler

ich habe eine Tabelle und möchte sowas nicht zulassen:

A B
----
1|1
1|1

Das ist OK:

A B
----
1|1
1|2

Also im Prinzip darf das was in Spalte A und B zusammen vorkommt nie doppelt vorkommen. Ich hoffe ich habe das so richtig erklären können.

Vielen Dank für die eventuellen Antworten.

Du suchst einen unique Index über beide Spalten:

test=# create table doppelt (a int, b int);
CREATE TABLE
Time: 375.800 ms
test=*# create unique index u_doppelt on doppelt(a,b);
CREATE INDEX
Time: 90.274 ms
test=*# insert into doppelt values (1,1);
INSERT 0 1
Time: 1.938 ms
test=*# insert into doppelt values (1,2);
INSERT 0 1
Time: 3.525 ms
test=*# insert into doppelt values (1,2);
ERROR:  duplicate key violates unique constraint "u_doppelt"
test=*#

Andreas

Ja sowas suche ich. Vielen Dank. Ich werde es ausprobieren und mich notfalls nochmal melden. Wusste nicht das man das Unique einfach über beide Spalten legen kann.