Mysql
 sql >> Base de données >  >> RDS >> Mysql

Valeurs Auto_increment dans InnoDB ?

Si vous avez une contrainte de clé étrangère, comment pouvez-vous supprimer une ligne de la table A lorsque la table B fait référence à cette ligne ? Cela me semble être une erreur.

Quoi qu'il en soit, vous pouvez éviter la réutilisation des valeurs d'auto-incrémentation en réinitialisant le décalage lorsque votre application redémarre. Recherchez le maximum dans toutes les tables qui référencent la table A, puis modifiez la table au-dessus de ce maximum, par ex. si le maximum est 989, utilisez ceci :

alter table TableA auto_increment=999;

Méfiez-vous également que différents moteurs MySQL ont un comportement d'auto-incrémentation différent. Cette astuce fonctionne pour InnoDB.