sql >> Databasteknik >  >> RDS >> Mysql

Auto_increment-värden i InnoDB?

Om du har en begränsning av främmande nyckel, hur kan du ta bort en rad från tabell A när tabell B refererar till den raden? Det verkar vara ett fel för mig.

Oavsett vilket kan du undvika återanvändning av automatiska inkrementvärden genom att återställa offseten när din applikation startar säkerhetskopiering. Fråga efter maximum i alla tabeller som refererar till tabell A, ändra sedan tabellen ovanför detta maximum, t.ex. om maxvärdet är 989, använd detta:

alter table TableA auto_increment=999;

Tänk också på att olika MySQL-motorer har olika beteende för automatisk ökning. Det här tricket fungerar för InnoDB.



  1. Cloud Vendor Deep-Dive:PostgreSQL på Google Cloud Platform (GCP)

  2. Hur NOW() fungerar i MariaDB

  3. MySQL root-åtkomst från alla värdar

  4. MySQL med Entity Framework - vad gör jag för fel?