MySql-Fremdschlüsselfehler 150: Ein rätselhaftes Rätsel
Beim Versuch, die Tabellen „foo“ und „bar“ mit Fremdschlüsselbeziehungen zu erstellen , stoßen Sie auf Fehler 1005 (HY000) in Bezug auf Fehler 150. Dieser Fehler kann frustrierend sein und Sie ratlos zurücklassen die Grundursache.
Laut der MySQL-Dokumentation zu FOREIGN KEY-Einschränkungen tritt das Problem auf, wenn eine gelöschte Tabelle mit Fremdschlüsselverweisen neu erstellt wird. Die Tabelle muss den Fremdschlüsseleinschränkungen entsprechen und über übereinstimmende Spaltennamen und -typen sowie Indizes für die referenzierten Schlüssel verfügen. Wenn diese Bedingungen nicht erfüllt sind, gibt MySQL den Fehler 1005 mit einem zugrunde liegenden Fehler 150 zurück.
Es ist wahrscheinlich, dass Ihr Fehler auf die Tatsache zurückzuführen ist, dass die Tabelle „foo“ nicht als InnoDB-Tabelle definiert ist. In der MySQL-Dokumentation heißt es ausdrücklich, dass beide Tabellen InnoDB-Tabellen und nicht temporär sein müssen.
Durch Ändern der Tabellenerstellungsabfrage „foo“ zur Angabe der InnoDB-Engine:
mysql> CREATE TABLE foo(id INT PRIMARY KEY) ENGINE=InnoDB;
Sie sollten in der Lage sein, die „bar“-Tabelle erfolgreich mit der Fremdschlüsseleinschränkung zu erstellen. Behebung des Fehlers 150.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3