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.