Heim >Datenbank >MySQL-Tutorial >Wie füge ich einer Tabelle mit einem vorhandenen Primärschlüssel in MySQL eine Auto-Inkrement-ID hinzu?
Hinzufügen einer Auto-Inkrement-ID zu einer vorhandenen Tabelle mit Primärschlüssel
Das Erweitern einer vorhandenen Tabelle mit einer Auto-Inkrement-ID ist eine häufige Anforderung im Datenbankmanagement. Das Hinzufügen einer automatisch inkrementierenden Spalte zu einer Tabelle, die bereits über einen Primärschlüssel verfügt, kann jedoch zu Herausforderungen führen.
Wenn Sie versuchen, eine automatisch inkrementierende Spalte mit der Anweisung hinzuzufügen:
ALTER TABLE users ADD id int NOT NULL AUTO_INCREMENT
Möglicherweise tritt der Fehler auf:
#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
Dies liegt daran, dass MySQL nur eine Spalte mit automatischer Inkrementierung pro Tabelle zulässt und diese als primäre Spalte festgelegt werden muss Schlüssel.
Um dieses Problem zu beheben, müssen Sie zunächst den vorhandenen Primärschlüssel ändern, um die automatische Inkrementierung zu ermöglichen, und dann die neue Spalte für die automatische Inkrementierung hinzufügen. Hier ist ein Beispiel:
ALTER TABLE `users` MODIFY COLUMN `id` INT NOT NULL AUTO_INCREMENT, ADD COLUMN `name` VARCHAR(255) NOT NULL
Durch die Ausführung dieser Abfrage ändern Sie die vorhandene ID-Spalte so, dass sie automatisch inkrementiert wird, und fügen der Tabelle eine neue Namensspalte hinzu. Die ID-Spalte dient nun sowohl als Primärschlüssel als auch als Auto-Inkrement-ID.
Das obige ist der detaillierte Inhalt vonWie füge ich einer Tabelle mit einem vorhandenen Primärschlüssel in MySQL eine Auto-Inkrement-ID hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!