IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes PostgreSQL Discussion :

Erreur 23502 "Not null violation" avec colonne de type serial


Sujet :

Requêtes PostgreSQL

  1. #1
    Membre averti

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 640
    Points : 408
    Points
    408
    Par défaut Erreur 23502 "Not null violation" avec colonne de type serial
    Bonjour,

    J'ai 2 tables :
    • polls (colonnes poll_id, title...)
    • vote_option (colonnes vote_option_id, title, poll_id...)

    Les champs poll_id et vote_option_id sont de type serial.

    Lors d'une insertion dans la table vote_option, avec une valeur de vote_option_id = NULL, j'obtiens une erreur : 23502 "Not null violation"

    Comment éviter cette erreur ? Pouquoi est ce que la création d'un enregistrement dans la table polls qui fonctionne sur le même principe ne provoque pas d'erreur ?

    L'accès à la base sont effectués via Medoo, qui une surcouche de PDO.

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 034
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 034
    Points : 23 779
    Points
    23 779
    Par défaut
    Bonjour,

    Sans plus d'information sur la structure des tables et les contraintes associées, je dirais que l'un est dans une clé primaire (d'où la contrainte NOT NULL) et l'autre pas...
    Mais il nous faut plus de détail sur la structure des tables en question pour confirmer...

    ced

  3. #3
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 311
    Points : 39 677
    Points
    39 677
    Billets dans le blog
    9
    Par défaut
    Par ailleurs, depuis la V10 de Postgre, il est recommandé d'utiliser des colonnes IDENTITY plutôt que SERIAL
    Cf. ICI

  4. #4
    Membre averti

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 640
    Points : 408
    Points
    408
    Par défaut
    Citation Envoyé par ced Voir le message
    Bonjour,

    Sans plus d'information sur la structure des tables et les contraintes associées, je dirais que l'un est dans une clé primaire (d'où la contrainte NOT NULL) et l'autre pas...
    Mais il nous faut plus de détail sur la structure des tables en question pour confirmer...

    ced
    Bonjour,

    Les 2 colonnes poll_id et vote_option_id sont des clés primaires avec la contrainte NOT NULL.

    Voici la structure des tables :

    poll


    vote_option

Discussions similaires

  1. Réponses: 3
    Dernier message: 14/03/2012, 14h09
  2. Champ calculés avec colonne de type recherche
    Par fdecourt dans le forum Développement Sharepoint
    Réponses: 0
    Dernier message: 01/04/2011, 17h45
  3. Réponses: 3
    Dernier message: 12/03/2009, 14h41
  4. Group by avec colonne de type date
    Par lilye dans le forum SQL
    Réponses: 2
    Dernier message: 02/10/2008, 10h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo