sql >> Database >  >> RDS >> Mysql

hoe verwijderde primaire sleutels in mysql opnieuw te gebruiken?

Gebruik:

ALTER TABLE [your table name here] AUTO_INCREMENT = 1

... zal de auto_increment-waarde opnieuw instellen als de volgende op basis van de hoogste bestaande waarde in de tabel. Dat betekent dat het niet kan worden gebruikt om hiaten van meer dan één te corrigeren.

De enige reden om dit te doen zou voor cosmetische zijn - de database maakt het niet uit of records opeenvolgend zijn, alleen dat ze consistent met elkaar in verband staan. Het is niet nodig om de waarden te "corrigeren" omwille van de database.

Als u de id . weergeeft waarden aan de gebruiker, en daarom zou je willen dat ze altijd opeenvolgend zijn, dan raad ik je aan een surrogaatsleutel toe te voegen. Gebruik de surrogaatsleutel voor weergave aan de gebruiker, zodat de waarden naar behoefte opnieuw kunnen worden gerangschikt, maar de referenciale integriteit wordt verder niet beïnvloed. De surrogaatsleutel zou in dit geval een integerkolom zijn.



  1. Wordnet SQL-uitleg

  2. Worden voorbereide instructies aan de serverzijde in de cache opgeslagen over meerdere pagina's die met PHP worden geladen?

  3. Wat is het equivalent van het spool-commando in MySQL?

  4. SQLT in 12c kan geen statistieken verzamelen