Heim  >  Artikel  >  Datenbank  >  Tabelle „Tabellenname“ kann nicht erstellt werden (Fehlernummer: 150) – So beheben Sie den MySQL-Fehler: Tabelle kann nicht erstellt werden, Fehlernummer: 150

Tabelle „Tabellenname“ kann nicht erstellt werden (Fehlernummer: 150) – So beheben Sie den MySQL-Fehler: Tabelle kann nicht erstellt werden, Fehlernummer: 150

WBOY
WBOYOriginal
2023-10-05 09:09:111202Durchsuche

Can't create table 'table_name' (errno: 150) - 如何解决MySQL报错:无法创建表,错误编号:150

Tabelle „Tabellenname“ kann nicht erstellt werden (Fehlernummer: 150) – So beheben Sie den MySQL-Fehler: Tabelle kann nicht erstellt werden, Fehlernummer: 150, es sind spezifische Codebeispiele erforderlich

Bei der Verwendung einer MySQL-Datenbank werden Sie manchmal auf Folgendes stoßen: Erstellen eines Tabellenproblems. Eines der häufigsten Probleme besteht darin, dass die Tabelle mit der Fehlernummer 150 nicht erstellt werden kann. Dieser Fehler weist normalerweise auf einen Fremdschlüsseleinschränkungsfehler beim Erstellen der Tabelle hin. In diesem Artikel wird erläutert, wie Sie dieses Problem lösen können, und es werden konkrete Codebeispiele bereitgestellt.

In MySQL werden Fremdschlüssel verwendet, um Beziehungen zwischen Tabellen herzustellen. Wenn wir beim Erstellen einer Tabelle Fremdschlüsseleinschränkungen verwenden und die Fremdschlüsselbedingungen nicht erfüllt sind, kann die Tabelle nicht erstellt werden und es tritt Fehler Nr. 150 auf.

Der erste Schritt zur Lösung dieses Problems besteht darin, zu prüfen, ob die Feldtypen und Einschränkungen der zugehörigen Tabelle konsistent sind. Die durch den Fremdschlüssel verknüpften Felder müssen denselben Datentyp und dieselben Einschränkungen aufweisen, um eine Beziehung herzustellen. Hier ist ein Beispiel, das zeigt, wie man zwei Tabellen erstellt und eine Fremdschlüsselbeziehung herstellt:

-- 创建部门表
CREATE TABLE department (
    id INT PRIMARY KEY,
    name VARCHAR(50)
);

-- 创建员工表
CREATE TABLE employee (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    department_id INT,
    FOREIGN KEY (department_id) REFERENCES department(id)
);

Im obigen Beispiel haben wir zwei Tabellen erstellt: Abteilungstabelle und Mitarbeitertabelle. Das Feld „department_id“ in der Tabelle „employee“ ist ein Fremdschlüssel, der auf das Feld „id“ in der Tabelle „department“ verweist. Durch das Schlüsselwort FOREIGN KEY und die Klausel REFERENCES stellen wir eine Fremdschlüsselbeziehung her.

Wenn beim Erstellen einer Tabelle der Fehler Nr. 150 auftritt, liegt der häufigste Grund darin, dass die mit dem Fremdschlüssel verknüpften Feldtypen oder Einschränkungen nicht übereinstimmen. Wenn beispielsweise das Feld „department_id“ in der Tabelle „employee“ vom Typ INT und das Feld „id“ in der Tabelle „department“ vom Typ VARCHAR ist, tritt dieses Problem auf. Wir müssen sicherstellen, dass die Feldtypen und Einschränkungen konsistent sind, um die Tabelle erfolgreich zu erstellen.

Außerdem gibt es einige andere Situationen, die den Fehler Nummer 150 auslösen können. Hier sind einige häufige Probleme und Lösungen:

  1. Tabellenreihenfolge: Wenn Sie beim Erstellen einer Tabelle versuchen, eine Fremdschlüsselbeziehung herzustellen, die referenzierte Tabelle jedoch noch nicht erstellt wurde, tritt Fehler Nr. 150 auf. Die Lösung besteht darin, zuerst die referenzierte Tabelle und dann die Tabelle zu erstellen, die darauf verweist.
  2. Zeichensatz und Sortierung: Wenn der Zeichensatz und die Sortierung der zugehörigen Tabelle inkonsistent sind, wird ebenfalls Fehler Nr. 150 verursacht. Die Lösung besteht darin, sicherzustellen, dass der Zeichensatz und die Sortierung der zugehörigen Tabellen gleich sind.
  3. Feld-Primärschlüssel: Wenn das Feld, auf das beim Erstellen eines Fremdschlüssels verwiesen wird, kein Primärschlüssel ist, wird auch Fehler Nr. 150 verursacht. Stellen Sie sicher, dass die referenzierten Felder Primärschlüssel sind und denselben Datentyp haben.

Zusammenfassend lässt sich sagen, dass Fehler Nr. 150 normalerweise auf einen Fremdschlüsseleinschränkungsfehler hinweist, der auftritt, wenn die Tabelle nicht erstellt werden kann. Der Schlüssel zur Lösung dieses Problems besteht darin, zu überprüfen, ob die Feldtypen und Einschränkungen der zugehörigen Tabellen konsistent sind, und sicherzustellen, dass die Reihenfolge der Tabellenerstellung und die Primärschlüsseleinstellungen der Felder korrekt sind. Wenn das Problem weiterhin besteht, überprüfen und debuggen Sie den Code sorgfältig, um nach anderen möglichen Fehlerursachen zu suchen.

Ich hoffe, dass die in diesem Artikel bereitgestellten Codebeispiele und Lösungen Ihnen helfen können, das Problem des MySQL-Fehlers zu lösen: Tabelle konnte nicht erstellt werden, Fehlernummer 150. Achten Sie beim Schreiben und Debuggen Ihres Codes darauf, die Struktur und Beziehungen Ihrer Tabellen noch einmal zu überprüfen und zu verifizieren, um sicherzustellen, dass Fremdschlüsseleinschränkungen erfüllt sind. Wenn Sie weitere Fragen haben, lesen Sie bitte die offizielle MySQL-Dokumentation oder wenden Sie sich an relevante Experten.

Das obige ist der detaillierte Inhalt vonTabelle „Tabellenname“ kann nicht erstellt werden (Fehlernummer: 150) – So beheben Sie den MySQL-Fehler: Tabelle kann nicht erstellt werden, Fehlernummer: 150. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn