DBAtlas · Atlas für Datenbankbetrieb

1075: Incorrect table definition; there can be only one auto column and it must be defined as a key

MySQL

Was bedeutet das?

Die Tabellendefinition ist ungültig, weil die AUTO_INCREMENT-Regeln verletzt wurden: Eine Tabelle kann nur eine Auto-Increment-Spalte haben, und diese muss Teil eines Schlüssels sein (PRIMARY KEY oder UNIQUE/Index).

Ursache

Definition mehrerer AUTO_INCREMENT-Spalten oder eine AUTO_INCREMENT-Spalte, die in keinem Schlüssel (Index) enthalten ist. Tritt bei CREATE TABLE oder ALTER TABLE auf.

Lösung

Behalte eine einzige AUTO_INCREMENT-Spalte und mache sie zum Teil eines Schlüssels: CREATE TABLE t (id INT AUTO_INCREMENT PRIMARY KEY, ...); Um eine vorhandene Tabelle zu korrigieren, nimm die Spalte zuerst in einen Schlüssel auf: ALTER TABLE t ADD PRIMARY KEY (id); und definiere dann AUTO_INCREMENT. Brauchst du mehr als eine Auto-Spalte, überdenke das Design; MySQL unterstützt das nicht.

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank