Det enklaste sättet att hantera förändringar av primärnyckeln - överlägset - är att ALTER
dina refererande främmande nyckelbegränsningar ska vara ON UPDATE CASCADE
.
Du är sedan fri att uppdatera de primära nyckelvärdena, och ändringarna kommer att överlappa underordnade tabeller. Det kan vara en mycket långsam process på grund av alla slumpmässiga I/O, men det kommer att fungera.
Du måste se upp så att du inte bryter mot unika begränsningar i kolumnen för primärnyckeln under processen.
Ett krångligare men snabbare sätt är att lägga till en ny UNIQUE
kolumn för den nya PK, fyll i den, lägg till nya kolumner i alla hänvisningstabeller som pekar på den nya PK, släpp de gamla FK-begränsningarna och kolumnerna och släpp till sist den gamla PK.