backspace
Goto Top

UNIQUE über mehrere Spalten

Hallo,

ich versuche eine UNIQUE-Anweisung über mehrere Spalten (MySQL Tabelle) hinweg zustande zu bringen.

Die Tabelle:
CREATE TABLE autos
(id int(10) NOT NULL AUTO_INCREMENT, 
MARKE varchar(20) DEFAULT NULL, 
FARBE varchar(20) DEFAULT NULL, 
HERSTELLUNGSLAND varchar(20) DEFAULT NULL,  
PRIMARY KEY(id, MARKE, FARBE, HERSTELLUNGSLAND)
);

Die UNIQUE-Anweisung:
create unique index mysql_idx ON autos(MARKE, FARBE, HERSTELLUNGSLAND);


Jede Zeile (Kombination aus den Spalten "MARKE", "FARBE", "HERSTELLUNGSLAND") soll UNIQUE sein, d.h. jede Zeile soll einmalig vorkommen dürfen.

Klappt leider nicht, es wird jeweils nur eine einzige Zeile in die Tabelle geschrieben, alles was danach verschickt / ausgeführt wird, wird nicht mehr in die Tabelle geschrieben.


Danke

Backspace

Content-Key: 159864

Url: https://administrator.de/contentid/159864

Printed on: April 19, 2024 at 23:04 o'clock

Member: nxclass
nxclass Feb 01, 2011 at 10:42:59 (UTC)
Goto Top
PRIMARY KEY(id, MARKE, FARBE, HERSTELLUNGSLAND) 
... das bedeutet doch schon ein UNIQUE !?

soll heißen:
PRIMARY KEY(id),
UNIQUE (MARKE, FARBE, HERSTELLUNGSLAND)
Member: Backspace
Backspace Feb 01, 2011 at 15:12:55 (UTC)
Goto Top
Wie ich schon erwähnte, funktioniert es aus irgendeinem Grund dennoch nicht.

Gruß

Backspace
Member: MadMax
MadMax Feb 02, 2011 at 01:15:31 (UTC)
Goto Top
Hallo Backspace,

warum das nicht klappt, wie Du es erwartest, da könnte man jetzt viele Vermutungen anstellen. Wenn Du auch noch den Befehl angeben würdest, der nicht klappt, dann ist vielleicht sogar die richtige Lösung dabei. Das muß ja wohl irgendein insert sein, das, nach Deiner Erwartung, mehrere Zeilen einfügen sollte, aber nur eine tatsächlich einfügt.

Gruß, Mad Max