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

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

PHPz
PHPzOriginal
2023-10-05 08:58:441457Durchsuche

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

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

Bei der Entwicklung von Datenbanken stoßen wir häufig auf Anforderungen zum Erstellen von Tabellen . Beim Erstellen von Tabellen in MySQL können jedoch manchmal Fehler auftreten, darunter Fehler Nr. 139. In diesem Artikel wird erläutert, wie Sie dieses Problem lösen können, und es werden konkrete Codebeispiele bereitgestellt.

Lassen Sie uns zunächst verstehen, was dieser Fehler bedeutet. Wenn MySQL keine Tabelle erstellen kann, gibt es eine Fehlernummer zurück, wobei 139 bedeutet: „Ein Feld in der Tabellendefinition hat eine ungültige Länge oder Genauigkeit.“ Mit anderen Worten: Die Länge oder Anzahl der Nachkommastellen eines Felds in der von Ihnen erstellten Tabelle entspricht nicht den Anforderungen.

Wie kann man dieses Problem lösen? Hier sind einige Lösungen:

  1. Überprüfen Sie den Feldtyp und die Länge in der Tabellendefinition.
    Zuerst müssen Sie den Feldtyp und die Länge überprüfen, die Sie beim Erstellen der Tabelle angegeben haben. Wenn Sie beispielsweise eine Tabelle mit dem Namen „table_name“ erstellen und beim Definieren des Felds ein Feld vom Typ „String“ mit einer Länge von 10 angeben, müssen Sie bestätigen, dass Ihre Feldlänge korrekt ist. Stellen Sie sicher, dass Ihre Feldlänge das Limit für den entsprechenden Feldtyp nicht überschreitet.

    Hier ist ein Beispielcode:

    CREATE TABLE `table_name` (
      `id` INT(11) NOT NULL AUTO_INCREMENT,
      `name` VARCHAR(10),
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  2. Überprüfung der Feldgenauigkeit
    Eine weitere mögliche Ursache für Fehler 139 ist, dass die Genauigkeit des Feldes falsch ist. Wenn Sie beim Erstellen der Tabelle ein Feld vom Typ DECIMAL definieren und die Anzahl der Nachkommastellen angeben (z. B. DECIMAL(10, 2)), stellen Sie sicher, dass der tatsächliche Wert Ihres Felds keine weiteren Nachkommastellen aufweist Dezimalpunkt als Sie in der Tabelle angegeben haben.

    Hier ist ein Beispielcode:

    CREATE TABLE `table_name` (
      `id` INT(11) NOT NULL AUTO_INCREMENT,
      `price` DECIMAL(10, 2),
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  3. Überprüfen Sie die MySQL-Version
    Darüber hinaus müssen Sie sicherstellen, dass die von Ihnen verwendete MySQL-Version den Feldtyp und die Länge unterstützt, die Sie beim Erstellen der Tabelle verwendet haben. Für einige Feldtypen und -längen gelten in verschiedenen MySQL-Versionen möglicherweise unterschiedliche Einschränkungen. Wenn Sie feststellen, dass Ihre Tabellendefinition in einer MySQL-Version erfolgreich erstellt werden kann, in einer anderen Version jedoch Fehler 139 gemeldet wird, liegt das möglicherweise daran, dass die von Ihnen verwendete MySQL-Version den Feldtyp oder die Feldlänge nicht unterstützt.

Wenn Sie schließlich auf ein Problem stoßen, das nicht gelöst werden kann, können Sie in der offiziellen MySQL-Dokumentation nachsehen oder die MySQL-Community um Hilfe bitten. Möglicherweise haben sie eine ausführlichere Erklärung und Lösung für dieses Problem.

Zusammenfassend lässt sich sagen, dass Sie, wenn Sie beim Erstellen einer Tabelle in MySQL auf Fehler Nr. 139 stoßen, den Feldtyp, die Länge und die Genauigkeit in der Tabellendefinition sorgfältig überprüfen müssen, um sicherzustellen, dass sie den Spezifikationen entsprechen. Wenn das Problem weiterhin besteht, sollten Sie prüfen, ob die von Ihnen verwendete MySQL-Version den von Ihnen definierten Feldtyp und die von Ihnen definierte Länge unterstützt. Ich hoffe, dass dieser Artikel Ihnen bei der Lösung des MySQL-Fehlers 139 helfen kann und relevante Codebeispiele enthält.

Das obige ist der detaillierte Inhalt vonTabelle „Tabellenname“ kann nicht erstellt werden (Fehlernummer: 139) – So beheben Sie den MySQL-Fehler: Tabelle kann nicht erstellt werden, Fehlernummer: 139. 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