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.
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.