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 :

Erreur d'insertion SQL Error Code: 1072. Key column 'aptinscription_id' doesn't exist in table


Sujet :

Symfony PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 19
    Points : 12
    Points
    12
    Par défaut Erreur d'insertion SQL Error Code: 1072. Key column 'aptinscription_id' doesn't exist in table
    Bonjour à tous

    J'ai un problème à l'insertion du sql.

    voilà mon schema.yml:

    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    aptevenement:
      columns:
        titre_evenement: string
        desciption: string
        lieu: string
        date_evenement: date
        date_cloture_inscriptions: date
        nb_joueurs_max: integer
        image_fond_confirmation: string
      relations:
        aptinscription:
          foreignAlias: Evenement
     
    aptinscription:
      columns:
        nom: 
          type: string 
          notnull: true
        prenom:
          type: string 
          notnull: true
        pseudo:  
          type: string 
          notnull: false
        date_naissance:
          type: date 
          notnull: true
        email:
          type: string
          notnull: true
        ville:
          type: string 
          notnull: true
        code_securite:
          type: string
          notnull: true
        aptetatreservation_id:
          type: integer
          notnull: true
        aptevenement_id:
          type: integer
          notnull: true
     
    aptetatreservation:
      columns:
        libelle:
          type: string 
          notnull: true
      relations:
        aptinscription:
          foreignAlias: EtatReservation
    Je ne pense pas avoir fait d'erreur en le créant.
    Il me génère ce sql: (après un cc et un build-model)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    CREATE TABLE aptetatreservation (id BIGINT AUTO_INCREMENT, libelle TEXT NOT NULL, INDEX aptinscription_id_idx (aptinscription_id), PRIMARY KEY(id)) ENGINE = INNODB;
     
    CREATE TABLE aptevenement (id BIGINT AUTO_INCREMENT, titre_evenement TEXT, desciption TEXT, lieu TEXT, date_evenement DATE, date_cloture_inscriptions DATE, nb_joueurs_max BIGINT, image_fond_confirmation TEXT, INDEX aptinscription_id_idx (aptinscription_id), PRIMARY KEY(id)) ENGINE = INNODB;
     
    CREATE TABLE aptinscription (id BIGINT AUTO_INCREMENT, nom TEXT NOT NULL, prenom TEXT NOT NULL, pseudo TEXT, date_naissance DATE NOT NULL, email TEXT NOT NULL, ville TEXT NOT NULL, code_securite TEXT NOT NULL, aptetatreservation_id BIGINT NOT NULL, aptevenement_id BIGINT NOT NULL, PRIMARY KEY(id)) ENGINE = INNODB;
    et quand j'exécute ce sql dans mon Mysql j'obtiens l'erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Error Code: 1072. Key column 'aptinscription_id' doesn't exist in table
    ça fait 3/4h que je cherche mon erreur, je ne la vois pas si quelqu'un la voit , ou a un conseil à me donner je suis preneur

    merci d'avance

  2. #2
    Membre éprouvé Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Points : 933
    Points
    933
    Par défaut
    Je ne vois pas la clé étrangère vers aptinscription dans ton schéma pour aptevenement. Doctrine génère la clé locale quand tu ne la déclares pas explicitement mais pas les clés étrangères.

  3. #3
    Membre éclairé Avatar de kenny.kev
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 646
    Points : 816
    Points
    816
    Par défaut
    Il y a aussi le problème que l'ordre des requête c'est pas correcte la table aptinscription ce crée en dernier alors qu'il y a des clés étrangères sur celle-ci.

    Herode à raison en déclarent les clé étrangères l'ordre devrais ce rétablir

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    merci de vos réponses

    effectivement j'ai confondu, il fallait déclarer les relations seulement sur les tables qui ont les clés étrangères, j'ai inversé, ça marche maintenant

    le schéma corrigé:

    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
    43
    44
    45
    46
    47
    48
    49
    50
    aptevenement:
      columns:
        titre_evenement: string
        desciption: string
        lieu: string
        date_evenement: date
        date_cloture_inscriptions: date
        nb_joueurs_max: integer
        image_fond_confirmation: string
     
    aptinscription:
      columns:
        nom: 
          type: string 
          notnull: true
        prenom:
          type: string 
          notnull: true
        pseudo:  
          type: string 
          notnull: false
        date_naissance:
          type: date 
          notnull: true
        email:
          type: string
          notnull: true
        ville:
          type: string 
          notnull: true
        code_securite:
          type: string
          notnull: true
        aptetatreservation_id:
          type: integer
          notnull: true
        aptevenement_id:
          type: integer
          notnull: true
      relations:
        aptetatreservation:
          foreignAlias: Inscriptions
        aptevenement:
          foreignAlias: Inscriptions
     
    aptetatreservation:
      columns:
        libelle:
          type: string 
          notnull: true
    merci

Discussions similaires

  1. SQL Error code = -502
    Par _willou dans le forum Firebird
    Réponses: 5
    Dernier message: 11/06/2014, 14h59
  2. [SQL-Server] Erreur d'insertion Sql Server, chaine non formatée
    Par plasticplayer dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 14/08/2012, 18h28
  3. Erreur en Insert SQL-Server
    Par soumbol dans le forum Développement
    Réponses: 9
    Dernier message: 24/05/2011, 22h06
  4. SQL error code = -104
    Par vg-matrix dans le forum Bases de données
    Réponses: 7
    Dernier message: 18/12/2008, 22h04
  5. [SQL Server]Erreur d'insertion dans la DB
    Par Dnx dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 26/09/2005, 13h55

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