sql >> Database >  >> RDS >> Mysql

Auto_increment-waarden in InnoDB?

Als u een externe sleutelbeperking hebt, hoe kunt u dan een rij uit tabel A verwijderen als tabel B naar die rij verwijst? Dat lijkt me een fout.

Hoe dan ook, u kunt het hergebruik van auto-incrementwaarden voorkomen door de offset opnieuw in te stellen wanneer uw toepassing weer opstart. Vraag naar het maximum in alle tabellen die verwijzen naar tabel A en wijzig vervolgens de tabel boven dat maximum, b.v. als de max 989 is, gebruik dan dit:

alter table TableA auto_increment=999;

Houd er ook rekening mee dat verschillende MySQL-engines verschillende auto-increment-gedragingen hebben. Deze truc werkt voor InnoDB.



  1. MySQL, voeg twee kolommen samen

  2. Is er een manier om tekstgegevens naar de database in PostgreSQL te laden?

  3. Bereken percentielwaarde met MySQL

  4. Elimineert MySQL veelvoorkomende subexpressies tussen de SELECT- en HAVING/GROUP BY-clausule?