die Spalten mit den Namen
Kurs_ID
Mannschafts_ID
fehlen.Deswegen kannst Du weder Indexe für die Spalten anlegen noch kannst Du
FOREIGN-KEY-Constraints anlegenDu kannst außerdem nicht zwei verschiedene Indexe mit gleichem Namen anlegen
Es bietet sich eventuell ein kombinierter Index an:
INDEX ix_td(Kurs_ID, Mannschaft_ID)Die Tabellen Kurs und Mannschaft müssen vor der Tabelle Teilnehmer angelegt
werden.Freundliche Grüße
Vinzenz
Ach verdammt. Natürlich... ich bin echt blind. Vielen Dank, es klappt jetzt.
Ich hab den Index jetzt einmal ix_td1 und ix_td2 genannt. Gibt es Unterschiede wenn ich einen kombinierten Index benutze?
Oder wieso wird der Index ix_td geschrieben? ( Ich hab das aus einem SQL Script).
So hat es geklappt:
CREATE TABLE `Teilnehmer`(
`Teilnehmer_ID` INT(100) NOT NULL,
`Vorname` VARCHAR(50) NOT NULL,
`Nachname` VARCHAR(50) NOT NULL,
`Kurs_ID` VARCHAR(50) NOT NULL,
`Mannschaft_ID` INT(100) NOT NULL,
PRIMARY KEY(Teilnehmer_ID),
INDEX ix_td1(Kurs_ID),
INDEX ix_td2(Mannschaft_ID),
FOREIGN KEY(Kurs_ID) REFERENCES Kurs(Kurs_ID) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY(Mannschaft_ID) REFERENCES Mannschaft(Mannschaft_ID) ON DELETE CASCADE ON UPDATE CASCADE
)
ENGINE = InnoDB