sql >> Database >  >> RDS >> Mysql

Id-kolom opnieuw sorteren in een MySQL-tabel?

Over het algemeen is het een gedoe om primaire sleutels in een database bij te werken, omdat dit vaak een reeks updates door alle tabellen zet die naar die primaire sleutel verwijzen. Bij veel engines kun je deze update automatisch laten plaatsvinden met behulp van de CASCADE-optie, maar het resulteert nog steeds in veel anders onnodige database-updates.

Het normale gebruik van automatisch oplopende gehele primaire sleutels is als permanente, betekenisloze, onveranderlijke waarden.

Dat gezegd hebbende, als je echt wilt u die sleutels bijwerken, dan kunt u dat doen met het commando

 UPDATE YourTable SET id = id - 1 WHERE id > (value you deleted)

U kunt ook een tweede integerkolom behouden, niet de primaire sleutel van de tabel, en deze kolom bijwerken na elke verwijdering.



  1. Werk een kolomwaarde bij naar het AANTAL rijen voor specifieke waarden in dezelfde tabel

  2. rijnummer geeft geen rijen weer bij gebruik tussen trefwoord

  3. Hoe update ik alle kolommen met INSERT ... ON CONFLICT ...?

  4. Anonimiseer uw abonnementsgegevens in Plan Explorer