MySQL und Unique über mehrSpalten

Hi,

ich möchte, dass nur dann etwas eingefügt wird, wenn es eine Kombination noch nicht gibt.

Table: myTabel
Spalte: FREMD_ID
Spalte: NAME

Wie sollte das aussehen?
Funktioniert es, wenn ich beide Spalten auf UNIQE setze? Oder gild das dann für jede Spalte extra?
Kann ich das über ein bestimmtes SUBSELECT lösen.
Mir fällt da momentan einfach nix ein…

cu Desian

Hallo Desian,

ich möchte, dass nur dann etwas eingefügt wird, wenn es eine
Kombination noch nicht gibt.

Table: myTabel
Spalte: FREMD_ID
Spalte: NAME

Wie sollte das aussehen?

Setze beim Erstellen Deiner Tabelle den Primary Key auf die beiden
Felder

...
PRIMARY KEY (FREMD\_ID, NAME)...

Beim Einfügen von neuen Daten werden diese nur dann in die Tabelle
eingefügt, wenn die Kombination aus FREMD_ID und NAME UNIQUE
ist, ansonsten erfolgt eine Fehlermeldung (Error 1062: Duplcate Key).

Gruss
Thomas

Hallo,

wenn du für beide Spalten jeweils einen UNIQUE Index machst, dann gilt das nur für die jeweilige Spalte.

Du kannst Indizes aber über mehrere Spalten machen und diesen auch UNIQUE definieren:

http://dev.mysql.com/doc/mysql/en/CREATE_INDEX.html

Grüße
Bruno

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]