Fremdschlüssel funktionieren nicht in MySQL?
Ich habe eine Datenbank mit mehreren Tabellen unter anderem die Tabelle 1 mit "Spiele" und Tabelle 2 mit "Genre". In der Tabelle Genre habe ich die Attribute bzw. Spalten GenreID als Primärschlüssel, das Genre und einen Fremdschlüssel "SID" was für Spiele-ID steht. Ich möchte nun diese "SID" mit dem "SID" in der Tabelle Spieleid referenzieren also gebe ich ein
"ALTER TABLE Genre
ADD foreign Key(SID) REFERENCES Spiele(SID)"
Die Konsole gibt mir aus "Error Code 3734. Failed to add the foreign key constraint. Missing column "SID" for constraint 'Genre_ibfk_1" in the referenced table "Spiele".
Ich verstehe diesen Fehlercode nicht. Was ich daraus verstehe ist das es angeblich das Attribut "SID" in der Tabelle "Spiele" nicht geben soll. Das stimmt aber nicht, denn ich sehe ja das dieses Attribut vorhanden ist.
1 Antwort
Ich denke nicht, dass sich mysql die Fehlermeldung ausdenkt ;)
Achte darauf, dass der Spaltenname exakt gleich geschrieben ist. Auch müssen die Spalten in beiden Tabellen die gleichen Typen und Attribute haben und der Foreign Key muss auch ein Key sein
Habe den Fehler gefunden, das Attribut hieß "SPID" und nicht "SID". Jetzt hat es funktioniert, danke dir für die Antwort!