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. |