Ä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.