Wenn Sie eine Fremdschlüsseleinschränkung haben, wie können Sie eine Zeile aus Tabelle A löschen, wenn Tabelle B auf diese Zeile verweist? Das scheint mir ein Fehler zu sein.
Unabhängig davon können Sie die Wiederverwendung von Auto-Increment-Werten vermeiden, indem Sie den Offset zurücksetzen, wenn Ihre Anwendung wieder hochfährt. Fragen Sie nach dem Maximum in allen Tabellen, die auf Tabelle A verweisen, und ändern Sie dann die Tabelle über diesem Maximum, z. Wenn das Maximum 989 ist, verwenden Sie Folgendes:
alter table TableA auto_increment=999;
Beachten Sie auch, dass verschiedene MySQL-Engines ein unterschiedliches Auto-Increment-Verhalten haben. Dieser Trick funktioniert für InnoDB.