Ändern Sie auto_increment in derselben Tabelle mit der Unterabfrage mysql

Ich benutze MySQL. Ich habe eine Datenbanktabelle mit Auto_Increment-Zähler festgelegt. Aufgrund einer Anforderung muss ich jetzt ab 100 IDs frei lassen und alle vorhandenen Datensätze ab 101 verschieben, sodass die aktuelle ID 1 zu 101 und die ID 2 zu 102 wird und so weiter.

Ich kann Datensätze nach 101 verschieben, aber das Problem besteht darin, dass der Zähler für die automatische Inkrementierung auf max (id) +1 gesetzt wird.

Die Hauptbeschränkung hier bei mir ist, dass ich es in einer einzelnen SQL-Anweisung tun muss. Ich kann den Wert nicht mit @counter speichern und später verwenden.

Ich habe versucht, die folgende Abfrage zu verwenden

ALTER TABLE role AUTO_INCREMENT = (SELECT rd.counter FROM (SELECT (MAX(id) + 1) AS counter FROM role r) rd);

Aber es funktioniert nicht.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage