Il modo più semplice per gestire le modifiche alla chiave primaria - di gran lunga - è ALTER
i tuoi vincoli di chiave esterna di riferimento devono essere ON UPDATE CASCADE
.
Sei quindi libero di aggiornare i valori della chiave primaria e le modifiche verranno applicate a cascata alle tabelle figlio. Può essere un processo molto lento a causa di tutti gli I/O casuali, ma funzionerà.
È necessario fare attenzione a non violare i vincoli di univocità sulla colonna della chiave primaria durante il processo.
Un modo più complicato ma più veloce è aggiungere un nuovo UNIQUE
colonna per la nuova PK, compilarla, aggiungere nuove colonne a tutte le tabelle di riferimento che puntano alla nuova PK, eliminare i vecchi vincoli e colonne FK, quindi infine eliminare la vecchia PK.