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

Symfony PHP Discussion :

Foreign key et NOT NULL


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 419
    Par défaut Foreign key et NOT NULL
    Bonjour,

    J'ai dans mon schéma 2 tables (on va simplifier).

    Une video qui contient une relation vers la Table Image.
    Chaque vidéo peut contenir une image.

    Mon champ id_image est non défini, pas de condition not null en BDD.

    Mais lorsque je veux inséré une vidéo sans image, il m'envoie toujours une erreur comme quoi la foreign key n'existe pas.

    Comment puis je faire ?
    Pierre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    Image:
      connection: doctrine
      tableName: image
      columns:
        id:
          type: integer(8)
          primary: true
          autoincrement: true
        name:
          type: string(45)
          notnull: true
        url:
          type: string(255)
          notnull: true
        width:
          type: integer(8)
          notnull: true   
        height:
          type: integer(8)
          notnull: true
     
    Video:
      connection: doctrine
      tableName: video
      actAs:
        I18n:
          fields: [titre]
      columns:
        id:
          type: integer(8)
          primary: true
          autoincrement: true
        titre:
          type: string(45)
        id_image:
          type: integer(8) 
      relations:
        Image:
          local: id_image
          foreign: id
          type: one

  2. #2
    Membre expérimenté Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Par défaut
    Bonjour,

    j'ai une version assez bourrin, tu crées une image "pas d'image" que prend ton champ id_image par défaut dans ta table vidéo ^^.

    Un peu comme par exemple Facebook qui attribue un image par défaut.

  3. #3
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 419
    Par défaut
    Bonjour,
    Merci pour la réponse.

    C'est ce que l'on fait maintenant, mais on preferait améliorer notre système et le mettre plus propre.

    En plus, ca m’énerve parce que c'est la 2 ou 3eme fois que ca arrive et c'est quand même courant une foreign key a null... et tout a fait valable en BDD.

  4. #4
    Membre expérimenté Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Par défaut
    Bonjour,

    pour ma part on m'a souvent dit d'éviter de permettre à une clé étrangère d'être null mais bon. Pour qu'il y ait cette erreur cela veux dire que dans ta base tu as renseigner not null à ta clé étrangère. Ne serait il pas mieux (pour pas que cela te pose de problème) de ne pas spécifier dans ta base que cette colonne est une clé étrangère??? Ou alors de mettre la clé étrangère à null au lieu de not null (je ne sais pas du tout si c'est possible).

  5. #5
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 419
    Par défaut
    Citation Envoyé par Retrokiller069 Voir le message
    Bonjour,

    pour ma part on m'a souvent dit d'éviter de permettre à une clé étrangère d'être null mais bon. Pour qu'il y ait cette erreur cela veux dire que dans ta base tu as renseigner not null à ta clé étrangère. Ne serait il pas mieux (pour pas que cela te pose de problème) de ne pas spécifier dans ta base que cette colonne est une clé étrangère??? Ou alors de mettre la clé étrangère à null au lieu de not null (je ne sais pas du tout si c'est possible).
    Dans ma base, il n y a aucune contrainte.

    Ne pas avpoir de foreign key voudrait dit avoir un modele symfony casssé, c'est peut envisageable...

    Et avoir une clef etrangère a null me parait tout a fait correct d'un point de vue BDD relationnelle. Ca veut juste dire qu'il y a une absence de relation.

  6. #6
    Membre expérimenté Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Par défaut
    Pourrais tu nous montrer ta requête d'insertion par un echo stp?

Discussions similaires

  1. Jointure avec Foreign Key pouvant être null
    Par neo932rcl dans le forum Requêtes
    Réponses: 4
    Dernier message: 24/03/2011, 16h16
  2. ManyToOne problem, null foreign key
    Par Oceanys dans le forum JPA
    Réponses: 4
    Dernier message: 05/10/2009, 15h23
  3. FOREIGN KEY de valeur NULL : erreur 1452
    Par Tchupacabra dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 21/09/2008, 20h32
  4. Une Foreign Key peut-elle être null ?
    Par bassim dans le forum Firebird
    Réponses: 9
    Dernier message: 21/11/2006, 20h20
  5. [EJB2.1 Entity] foreign key null
    Par bruno782 dans le forum Java EE
    Réponses: 1
    Dernier message: 22/03/2006, 13h23

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