Najłatwiejszym sposobem radzenia sobie ze zmianami klucza podstawowego - zdecydowanie - jest ALTER
Twoje odwołujące się ograniczenia klucza obcego to ON UPDATE CASCADE
.
Następnie możesz zaktualizować wartości klucza podstawowego, a zmiany zostaną wprowadzone kaskadowo do tabel podrzędnych. Może to być bardzo powolny proces ze względu na losowe operacje we/wy, ale zadziała.
Musisz uważać, aby nie naruszać ograniczeń unikalności w kolumnie klucza podstawowego podczas procesu.
Bardziej skomplikowanym, ale szybszym sposobem jest dodanie nowego UNIQUE
kolumnę dla nowego PK, wypełnij ją, dodaj nowe kolumny do wszystkich tabel odsyłających, które wskazują nowy PK, usuń stare ograniczenia i kolumny FK, a na koniec usuń stary PK.