Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 Fri 09 July 2021 23:35

Demonshine
Participant occasionnel
Date d'inscription: 27 May 2021
Messages: 21

PostgreSQL : Erreur contrainte not null clé primaire

Bonjour,

je veux dupliquer une ligne d'une table dans la même table sans copier la clé primaire (fid) car elle ne peut pas être en double dans la table.
Il faut qu'un nouveau fid soit incrémenté automatiquement sauf que j'obtiens une erreur comme quoi le fid viole la contrainte not null.
Auriez-vous une solution pour remédier à ce problème ?

Merci d'avance,

Hors ligne

 

#2 Sat 10 July 2021 11:37

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1549

Re: PostgreSQL : Erreur contrainte not null clé primaire

Bonjour,

Utilisez une sequence (https://www.postgresql.org/docs/13/sql- … uence.html) pour cela, en l'initialisant à la valeur max+1 de la colonne fid (select max(fid) from table).

Dans votre requête, vous pourrez utiliser nextval('masequence') comme valeur à insérer pour le champ fid.

Nicolas

Hors ligne

 

#3 Sat 10 July 2021 20:06

tumasgiu
Membre
Lieu: Ajaccio
Date d'inscription: 5 Jul 2010
Messages: 1149

Re: PostgreSQL : Erreur contrainte not null clé primaire

Salut,

si la colonnefid a été définie avec le "type" serial, la valeur par défaut sera nextval('masequence'), et vous n'avez pas besoin de déclarer la colonne fid dans votre insert.

Hors ligne

 

Pied de page des forums

Powered by FluxBB