PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Générer SQL pour mettre à jour la clé primaire

La façon la plus simple de gérer les changements de clé primaire - de loin - est de ALTER vos contraintes de clé étrangère de référence doivent être ON UPDATE CASCADE .

Vous êtes alors libre de mettre à jour les valeurs de clé primaire, et les modifications se répercuteront sur les tables enfants. Cela peut être un processus très lent en raison de toutes les E/S aléatoires, mais cela fonctionnera.

Vous devez faire attention à ne pas violer les contraintes d'unicité sur la colonne de clé primaire pendant le processus.

Un moyen plus simple mais plus rapide consiste à ajouter un nouveau UNIQUE pour la nouvelle PK, remplissez-la, ajoutez de nouvelles colonnes à toutes les tables de référence qui pointent vers la nouvelle PK, supprimez les anciennes contraintes et colonnes FK, puis supprimez enfin l'ancienne PK.