You shouldn’t really do this but insert in a new record instead and update it that way.
But, if you really need to, you can do the following:
- Disable enforcing FK constraints temporarily (e.g.
ALTER TABLE foo WITH NOCHECK CONSTRAINT ALL
) - Then update your PK
- Then update your FKs to match the PK change
- Finally enable back enforcing FK constraints