Saphir: CREATE TABLE

Beitrag lesen

  • 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 anlegen

  • Du 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