Ich habe viele andere Posts über den Empfang von MySQL errno 150 gelesen, als ich versuchte, eine Fremdschlüssel-Copnstraint hinzuzufügen, aber ich habe noch keine Lösung gefunden. Ich hoffe, ich mache nichts Dummes. Ich habe einen einfachen Testfall gemacht.
Beide Spalten sind int (11) unsigned (wodurch color_id ( BEARBEITEN: ICH HABE FALSCH, UND DAS WAR DIE LÖSUNG ) NOT NULL
keinen Unterschied macht).
Hier sind meine zwei Tabellen:
Tabelle widgets
:
Tabelle colors
:
Ich habe gerade diese Tabellen erstellt, es gibt keinen Inhalt. Wenn ich versuche, eine Bedingung für einen Fremdschlüssel hinzuzufügen, um widgets.color_id mit colors.id zu verknüpfen, geschieht Folgendes:
%Vor%Ich füge nur hinzu, dass ich nicht in der Lage war, mein GUI-Tool der Wahl - Sequel Pro unter OSX - zu verwenden. Beim Versuch, eine Fremdschlüsselbeziehung zu erstellen, wird dieselbe Fehlermeldung angezeigt.
SHOW ENGINE INNODB STATUS
gibt das zurück:
Mache ich etwas lächerlich dumm ??
Es ist fast immer ein Fall von Nichtübereinstimmung zwischen dem Primärschlüssel und dem Fremdschlüssel.
Einige Tipps, um in den meisten Fällen zu helfen:
Tags und Links mysql foreign-keys