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-ID: 159864

Url: https://administrator.de/forum/unique-ueber-mehrere-spalten-159864.html

Ausgedruckt am: 08.04.2025 um 16:04 Uhr

nxclass
nxclass 01.02.2011 um 11:42:59 Uhr
Goto Top
PRIMARY KEY(id, MARKE, FARBE, HERSTELLUNGSLAND) 
... das bedeutet doch schon ein UNIQUE !?

soll heißen:
PRIMARY KEY(id),
UNIQUE (MARKE, FARBE, HERSTELLUNGSLAND)
Backspace
Backspace 01.02.2011 um 16:12:55 Uhr
Goto Top
Wie ich schon erwähnte, funktioniert es aus irgendeinem Grund dennoch nicht.

Gruß

Backspace
MadMax
MadMax 02.02.2011 um 02:15:31 Uhr
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