Heim > Datenbank > MySQL-Tutorial > Wie nummeriere ich Primärschlüsselindizes in MySQL für sequentielle Werte neu?

Wie nummeriere ich Primärschlüsselindizes in MySQL für sequentielle Werte neu?

DDD
Freigeben: 2024-10-25 02:04:02
Original
1020 Leute haben es durchsucht

How to Renumber Primary Key Indexes in MySQL for Sequential Values?

Primärschlüsselindizes neu nummerieren

Eine MySQL-Tabelle kann einen Primärindex (typischerweise eine „id“-Spalte) haben, dessen Werte möglicherweise nicht nummeriert sind Der Reihe nach. Um dies zu beheben, ziehen Sie den folgenden Ansatz in Betracht:

Methode:

Anstatt temporäre Tabellen zu manipulieren, ist eine effizientere Technik wie folgt:

SET @i=0;
UPDATE table_name SET column_name=(@i:=@i+1);
Nach dem Login kopieren

Erklärung:

  1. Setzen Sie eine benutzerdefinierte Variable @i auf 0.
  2. Führen Sie eine UPDATE-Abfrage für die Tabelle aus.
  3. Weisen Sie für jede Zeile in der Tabelle den Wert von @i der Spalte „column_name“ zu.
  4. Erhöhen Sie @i um 1, nachdem Sie den Wert zugewiesen haben.

Beispiel:

Betrachten Sie die folgende Tabelle:

id | name
----+--------
31  | John
35  | Mary
100 | David
Nach dem Login kopieren

Die obige Methode aktualisiert die Tabelle wie folgt:

id | name
----+--------
1   | John
2   | Mary
3   | David
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie nummeriere ich Primärschlüsselindizes in MySQL für sequentielle Werte neu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage