2 votes

Message d'erreur lors de l'abandon d'une contrainte

Chaque fois que je veux supprimer une contrainte d'une colonne, j'obtiens une erreur. Je ne vois pas le problème. J'utilise postgres.

J'ai donc créé un tableau avec deux colonnes :

CREATE TABLE TableA(
person_id INT PRIMARY KEY,
lastname CHAR(100)
)

J'utilise le code

ALTER TABLE TableA DROP CONSTRAINT person_id

pour DROP la contrainte de person_id mais j'obtiens une erreur :

Error : ERROR:  constraint "person_id" of relation "tablea" does not exist

Quel est le problème ?

1voto

Lukáš Lalinský Points 22537

Les clés primaires dans PostgreSQL sont par défaut appelées <table>_pkey Il est donc probable que vous souhaitiez quelque chose comme ceci :

ALTER TABLE TableA DROP CONSTRAINT TableA_pkey;

Vous pouvez vérifier les noms par exemple dans psql en utilisant \d TableA .

0voto

Oleg Dok Points 12155

Cela signifie que vous avez choisi le mauvais nom de contrainte - vous avez choisi le nom de la colonne au lieu de la contrainte.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X