Heim  >  Artikel  >  Datenbank  >  Wie kann ich einen MySQL-Primärindex mit nicht sequentiellen Werten in aufsteigender Reihenfolge neu nummerieren?

Wie kann ich einen MySQL-Primärindex mit nicht sequentiellen Werten in aufsteigender Reihenfolge neu nummerieren?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-25 11:26:30708Durchsuche

How can I renumber a MySQL primary index with non-sequential values in ascending order?

Neunummerierung des Primärindex für geordnete Daten

Frage:

Sie haben eine MySQL-Tabelle mit ein Primärindex, dessen Werte nicht fortlaufend nummeriert sind. Wie können Sie sie in der Reihenfolge neu nummerieren (1, 2, 3, ...)?

Antwort:

Während andere Methoden verfügbar sind, gibt es hier einen alternativen Ansatz dafür ist keine Erstellung temporärer Tabellen erforderlich.

Lösung:

Führen Sie die folgenden SQL-Anweisungen aus:

<code class="sql">SET @i=0;
UPDATE table_name SET column_name=(@i:=@i+1);</code>

Erklärung:

  • Die erste Zeile initialisiert eine Sitzungsvariable @i auf 0.
  • Die zweite Zeile führt eine UPDATE-Abfrage für die Tabelle mit dem Namen Tabellenname durch.
  • Innerhalb des UPDATE Abfrage weist die SET-Klausel der primären Indexspalte Spaltenname einen neuen Wert zu.
  • Der neue Wert wird berechnet, indem die Sitzungsvariable @i um 1 erhöht wird.
  • Während die Abfrage ausgeführt wird, wird das @ Die i-Variable erhöht sich ständig und stellt sicher, dass die primären Indexwerte der Reihe nach neu nummeriert werden.

Das obige ist der detaillierte Inhalt vonWie kann ich einen MySQL-Primärindex mit nicht sequentiellen Werten in aufsteigender Reihenfolge neu nummerieren?. 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