Heim >Datenbank >MySQL-Tutorial >Wie konvertiere ich vorhandene Primärschlüsselspalten in MySQL in die automatische Inkrementierung?
Konvertieren vorhandener Primärschlüsselspalten zur automatischen Inkrementierung in MySQL
In vielen Fällen müssen Datenbanken mit vorhandenen Primärschlüsselspalten, aber ohne automatische Inkrementierung erworben werden Merkmale. Während in der Vergangenheit manuelles Inkrementieren im Code verwendet wurde, ist es wünschenswert, auf automatische Inkrementierer umzusteigen, um die Datenbankverwaltung zu verbessern.
Automatisches Inkrementieren zu vorhandenen Spalten hinzufügen
Um eine vorhandene Primärschlüsselspalte in eine automatisch inkrementierende Spalte umzuwandeln, führen Sie die folgenden Schritte aus:
ALTER TABLE <table-name> MODIFY COLUMN <column-name> INT NOT NULL AUTO_INCREMENT;
Um beispielsweise die Primärschlüsselspalte „id“ in der „foo“-Tabelle zu ändern:
ALTER TABLE foo MODIFY COLUMN id INT NOT NULL AUTO_INCREMENT;
Um die Änderung zu überprüfen, verwenden Sie den Befehl SHOW CREATE TABLE:
SHOW CREATE TABLE foo;
Es sollte eine Zeile ähnlich der folgenden ausgegeben werden:
...`id` INT(11) NOT NULL AUTO_INCREMENT, ...
Testing Auto- Inkrementierungsfunktion
Um sicherzustellen, dass die automatische Inkrementierung wie erwartet funktioniert, fügen Sie einen neuen Datensatz ein, ohne einen Wert für die Spalte „id“ anzugeben:
INSERT INTO foo () VALUES ();
Auswählen der Daten aus In der Tabelle „foo“ sollte der neu automatisch inkrementierte Wert angezeigt werden.
Adressierungsfehler 150
Wenn beim Umbenennen der Tabelle Fehler 150 auftritt, ist dies wahrscheinlich auf einen Konflikt zurückzuführen mit Fremdschlüsseleinschränkungen. Um dieses Problem zu beheben, müssen Sie möglicherweise die Fremdschlüsselbeziehungen löschen und neu erstellen, nachdem Sie die Primärschlüsselspalte geändert haben.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich vorhandene Primärschlüsselspalten in MySQL in die automatische Inkrementierung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!