Clanintern Clanintern Clanintern

Forum

Öffentliche Foren
FORUM: Spiele & Computer THEMA: [SQL] errno 150... Problem mit foreign key
AUTOR BEITRAG
iFellu *auf der Zielgerade des Studiums!*

RANG Deckschrubber

#1 - 30.07 21:09

Moin moin. Ich bin am Verzweifeln... beim Anlegen folgender Tabellen bekomme ich einen errno 150 (also ein Problem mit dem foreign key):

//Tabellenstruktur für Tabelle `land`
mysql_query("CREATE TABLE IF NOT EXISTS `land` (
`Land_ID` int(11) NOT NULL auto_increment,
`Land_Name` text NOT NULL,
`Landessprache` text,
`Waehrung` text,
PRIMARY KEY (`Land_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_unicode_ci AUTO_INCREMENT=8");


//Tabellenstruktur für Tabelle `region`
mysql_query("CREATE TABLE IF NOT EXISTS `region` (
`Region_ID` int(11) NOT NULL auto_increment,
`Region_Name` text NOT NULL,
`Region_Beschreibung` text,
`Region_Sehenswuerdigkeiten` text,
`Land_ID` int(11) NOT NULL,
PRIMARY KEY (`Region_ID`),
INDEX (`Land_ID`),
CONSTRAINT `fk_Land` FOREIGN KEY (`Land_ID`) REFERENCES `Land` (`Land_ID`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_unicode_ci AUTO_INCREMENT=8");

Ich hab schon ne Stunde gegooglet und einige mögliche Lösungen gefunden: Sicherstellen, dass die Datentypen der beiden verknüpften Spalten übereinstimmen (stimmt, beides int(11)). SIcherstellen, dass der gleiche Character Set vorliegt (beides utf-8). Sicherstellen, dass das Fremdschlüssel-Feld indiziert ist (ist es). Mir fällt jetzt nichts mehr ein, woran das liegen könnte... kann mir hier jemand helfen? Gruß, Felix
*al!ve* - will code for food

RANG Master of Clanintern

#2 - 31.07 17:22

Schreib mal nach dem zweiten mysql_query() nen mysql_error() raus, mit der Fehlernummer kann ich nicht so arg viel anfangen.

Sollte zwar nicht weiter relevant sein weil ich glaube dass hier nicht Case-Sensitive gearbeitet wird aber deine Tabelle heißt land mit kleinem l, du referenzierst auf Land mit großem L.