#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: 1566
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: 1226
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

