Peut-on mettre à jour des valeurs de clé primaire d'une table?
De mettre à jour des valeurs de clé primaire d'une table?
- Pourquoi voudriez-vous faire cela?
Vous devez vous connecter pour publier un commentaire.
De mettre à jour des valeurs de clé primaire d'une table?
Vous devez vous connecter pour publier un commentaire.
Il est généralement admis que clés primaires doivent être immuable (ou aussi stable que possible depuis l'immutabilité ne peut pas être appliqué dans la DB). Alors qu'il n'y a rien qui va vous empêcher de mise à jour d'une clé primaire (sauf contrainte d'intégrité), il peut ne pas être une bonne idée:
À partir d'un point de vue des performances:
D'autres considérations:
En conclusion, lors de la conception, il est généralement plus sûr d'utiliser une clé de substitution en lieu et place d'une clé primaire qui est censé ne pas changer-mais peut éventuellement besoin d'être mis à jour en raison des exigences modifiées ou même d'erreur de saisie.
Si vous devez absolument mettre à jour une clé primaire avec des enfants tableau, voir ce post par Tom Kyte pour une solution.
Clé primaire attributs sont aussi mis à jour comme tous les autres attributs d'une table. La stabilité est souvent une propriété souhaitable d'une clé, mais certainement pas une exigence absolue. Si elle fait sens à partir d'une entreprise perpective de mettre à jour une clé, puis il n'y a pas de raison fondamentale pour laquelle vous ne devriez pas.
Vous pouvez aussi longtemps que
Réponse courte: oui, vous pouvez. Bien sûr, vous aurez à vous assurer que la nouvelle valeur ne correspond pas à la valeur existante et d'autres contraintes sont satisfaites (duh).
Exactement ce que vous essayez de faire?
À partir d'une base de données relationnelle de la théorie de point de vue, il devrait y avoir absolument aucun problème sur la mise à jour de la clé primaire d'une table, à condition qu'il n'y a pas de doublons parmi les clés primaires et que vous n'essayez pas de mettre une valeur NULL dans les colonnes de clé primaire.
Vous pouvez, sous certaines conditions.
Mais le fait que vous considérez que c'est un signe fort qu'il ya quelque chose de mal avec votre architecture: les clés Primaires devraient être purement technique et ne comportent aucun sens économique que ce soit. Donc, il ne devrait jamais être le besoin de les changer.
Thomas