Heim >Datenbank >MySQL-Tutorial >Wie kann ich vorhandene Primärschlüssel-IDs in MySQL in Auto-Inkrementierer konvertieren?

Wie kann ich vorhandene Primärschlüssel-IDs in MySQL in Auto-Inkrementierer konvertieren?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-27 10:43:03380Durchsuche

How Can I Convert Existing Primary Key IDs to Auto-Incrementers in MySQL?

Konvertieren von Primärschlüssel-IDs in automatische Inkrementierer in MySQL

Eine von einem anderen Entwickler erworbene Datenbank verfügt möglicherweise nicht über aktivierte automatische Inkrementierer in ihren Tabellen , obwohl Primärschlüssel-IDs vorhanden sind. Dies wirft die Frage auf, ob diese Primärschlüssel-IDs in Auto-Inkrementierer umgewandelt werden können.

Lösung

Um vorhandene Primärschlüssel-IDs in Auto-Inkrementierer umzuwandeln, können Sie dies tun Verwenden Sie die ALTER TABLE-Anweisung mit der MODIFY COLUMN-Klausel. Dadurch können Sie die Spaltendefinition ändern und die Option AUTO_INCREMENT angeben.

Zum Beispiel:

<code class="mysql">ALTER TABLE foo MODIFY COLUMN id INT NOT NULL AUTO_INCREMENT;</code>

Hier hat die foo-Tabelle eine Spalte mit dem Namen id, die derzeit nicht automatisch inkrementiert wird. Nach der Ausführung der Anweisung wird die ID-Spalte geändert, um die automatische Inkrementierung zu verwenden.

Hinweis:

  • Die ursprüngliche Primärschlüsseleinschränkung bleibt von dieser Änderung unberührt .
  • Sie können die Änderung überprüfen, indem Sie die SHOW CREATE TABLE-Anweisung verwenden, um die aktualisierte Tabellendefinition anzuzeigen.
  • Beim Einfügen neuer Zeilen in die Tabelle wird der ID-Spalte automatisch ein neuer Wert zugewiesen .

Fehlerbehebung

Wenn ein Fehler wie „Fehler beim Umbenennen von ‚.DBNAME#sql-6c8_62259c‘ in ‚.DBNAMEdealer_master_events‘“ auftritt, Dies ist wahrscheinlich auf Konflikte mit Fremdschlüsseleinschränkungen zurückzuführen. Um das Problem zu diagnostizieren und zu beheben, beziehen Sie sich auf Ressourcen wie:

  • Was bedeutet MySQL-Fehler 1025 (HY000): Fehler beim Umbenennen von „.foo“ (Fehlernummer: 150)?
  • http://www.simplicidade.org/notes/archives/2008/03/mysql_errno_150.html

Das obige ist der detaillierte Inhalt vonWie kann ich vorhandene Primärschlüssel-IDs in MySQL in Auto-Inkrementierer konvertieren?. 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