allNix — Astuces, tuto, docs sur Linux et autres

Modifier la séquence (AUTO_INCREMENT) d’une table MySQL / MariaDB

Il arrive parfois de devoir modifier la valeur de l’autoincrément de MySQL.

Dans ce cas, le changement se fait avec la commande suivante :

ALTER TABLE tablename AUTO_INCREMENT = 123456789

Attention lors du changement de la valeur de la séquence, vous pouvez rencontrer quelques problèmes.
Si la table est volumineuse, un ALTER a pour conséquences de reconstruire la table et peut donc prendre énormément de temps selon la taille de votre table.

Avec InnoDB par exemple, vous ne pouvez pas indiquer une valeur inférieure à la valeur maximale actuellement présente dans l’index.

Obtenir la valeur courante de la séquence

SELECT `AUTO_INCREMENT` FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = ‘mydb’ AND TABLE_NAME = ‘mytable’