sql >> Database >  >> RDS >> Mysql

Zou de volgende wijziging van de primaire sleutel werken met `pt-online-schema-change`?

Ja, u kunt een PRIMAIRE SLEUTEL wijzigen met behulp van pt-online-schema-change. Hier is hoe pt-online-schema-change werkt:

  1. Verkrijg een korte metadatavergrendeling op origA
  2. Triggers toevoegen aan origA
  3. Maak een nieuwe tabel precies zoals origA, newA
  4. Pas de ALTER-instructie toe op newA.
  5. Kopieer de rijen van origA naar newA.
  6. Als je klaar bent, hernoem je origA naar oldA, hernoem je newA naar origA.
  7. Laat oudeA vallen

Op geen enkel moment mist een van beide tabellen een PRIMAIRE SLEUTEL. Het is niet nodig om een ​​UNIEKE sleutel toe te voegen. Het enige wat je hoeft uit te voeren is #2 in je set en dat zal het doen.




  1. hoe je automatisch een tabel kunt maken op basis van CSV in postgres met python

  2. EasyPHP 16.1 autostart http &mysql

  3. Hoe elke rij te selecteren waar de kolomwaarde NIET verschillend is

  4. JQuery Datatable - Enkele cel splitsen in meerdere kolommen voor leesbaarheid?