J'ai une table avec deux colonnes sont une clé unique ensemble et je ne peux pas changer le schéma.Utiliser psql pour lancer une mise à jour
J'essaie d'exécuter une mise à jour en utilisant psql dans laquelle je change la valeur de l'une des colonnes qui sont clés. Le script est similaire à ce qui suit:
BEGIN;
UPDATE t1 SET P1='23' where P1='33';
UPDATE t1 SET P1='23' where P1='55';
COMMIT;
En utilisant psql avec la commande:
psql -U user -f file
J'ai l'erreur
ERROR: duplicate key violates unique constraint "<key_name>"
Mais la colonne est dans la clé avec une autre colonne et le changer ne «brise» aucune contrainte unique. La même requête à l'intérieur de pgAdmin3 fonctionne correctement sans erreurs.
Je ne suis pas un dba il me semble qu'il me manque quelque chose d'évident.
Merci
J'ai trouvé l'erreur, je ne faisais pas BEGIN .. COMMIT dans pgAdmin. Merci! – egesuato