#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: 1554
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: 1160
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