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

 MySQL Discussion :

Erreur 1054: Unknow column


Sujet :

MySQL

  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2004
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 187
    Par défaut Erreur 1054: Unknow column
    Bonjour à tous,
    Voici l'extrait du script produit par workbench:
    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
    CREATE TABLE IF NOT EXISTS `TOMADB`.`Postes` (
      `idFonction` INT NOT NULL,
      `idGroupe` INT NOT NULL,
      `idParent` INT NOT NULL,
      PRIMARY KEY (`idFonction`, `idGroupe`, `idParent`),
      INDEX `fk_Postes_Fonctions1_idx` (`idFonction` ASC),
      INDEX `fk_Postes_Groupes1_idx` (`idGroupe` ASC),
      INDEX `fk_Postes_Groupes2_idx` (`idParent` ASC),
      CONSTRAINT `fk_Postes_Fonctions1`
        FOREIGN KEY (`idFonction`)
        REFERENCES `TOMADB`.`Fonctions` (`idFonction`)
        ON DELETE NO ACTION
        ON UPDATE NO ACTION,
      CONSTRAINT `fk_Postes_Groupes1`
        FOREIGN KEY (`idGroupe`)
        REFERENCES `TOMADB`.`Groupes` (`idGroupe`)
        ON DELETE NO ACTION
        ON UPDATE NO ACTION,
      CONSTRAINT `fk_Postes_Groupes2`
        FOREIGN KEY (`idParent`)
        REFERENCES `TOMADB`.`Groupes` (`idGroupe`)
        ON DELETE NO ACTION
        ON UPDATE NO ACTION)
    ENGINE = InnoDB
    DEFAULT CHARACTER SET = utf8
    COLLATE = utf8_general_ci
    COMMENT = 'Les postes occupés par les entités au sein de groupes';
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    -- -----------------------------------------------------
    -- View `TOMADB`.`v_Poste`
    -- -----------------------------------------------------
    DROP TABLE IF EXISTS `TOMADB`.`v_Poste`;
    USE `TOMADB`;
    CREATE  OR REPLACE VIEW `v_Poste` AS
    SELECT
    	idParent
    FROM Postes;
    Mon problème vient du fait que la colonne idParent tombe sous le coup de l'erreur 1054 colonne inconnue. Les deux autres colonnes de la table n'ont pas ce problème.
    En modifiant ce troisième champ ('renommage' suppression de la relation, en ajoutant un champ, en changeant de moteur) rien n'y fait.
    Lorsqu'en console j'accède à cette table, le champ n'existe pas.
    Quelle peut-être la raison de son absence?

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Bonjour,

    Citation Envoyé par Krishna Voir le message
    Quelle peut-être la raison de son absence?
    Peut-être simplement la commande que vous exécutez juste avant de créer la vue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DROP TABLE IF EXISTS `TOMADB`.`v_Poste`;
    ???
    Si vous supprimez la table, en effet, la colonne risque de ne plus exister !
    Si c'est la vue que vous supprimez, alors ce serait plutôt DROP VIEW

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2004
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 187
    Par défaut
    Merci pour cette réponse éclair.
    Je n'ai pas essayé de toucher au script partant du principe qu'il a été généré automatiquement et qu'il doit donc fonctionner.
    Par contre j'ai réussi à supprimer l'erreur en ajoutant une clé primaire à la table poste (INTEGER PRIMARY KEY AUTO INCREMENT) et en ajoutant une contrainte d'unicité sur les trois autres colonnes.
    Je me demande si le fait d'avoir, à la création du diagramme, déclaré une table Postes et non une relation n'est pas la cause ? En effet, une table sans identifiant c'est un peu bizarre, non?
    Il faudrait que je fasse des essais pour un peu mieux comprendre mais je n'ai vraiment pas le temps.

  4. #4
    Membre confirmé
    Inscrit en
    Septembre 2004
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 187
    Par défaut
    En fait j'ai parlé trop vite. En étoffant ma requête pour la vue, le problème refait surface....

  5. #5
    Membre confirmé
    Inscrit en
    Septembre 2004
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 187
    Par défaut
    Ouf!
    Mon script ne supprimait pas les vues précédentes. J'ai donc ajouté quelques lignes de DROP et hop!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. erreur : #1054 - Unknown column 'Martin' in 'where clause'
    Par éric1 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/08/2009, 15h29
  2. Réponses: 2
    Dernier message: 01/01/2009, 20h52
  3. erreur 1054 - clause having
    Par aurelie83 dans le forum Requêtes
    Réponses: 9
    Dernier message: 21/02/2008, 09h47
  4. Problème sur une requete : erreur 1054
    Par fulgaro dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/11/2007, 11h32
  5. erreur mysql Unknown column...
    Par italiasky dans le forum Requêtes
    Réponses: 9
    Dernier message: 08/02/2006, 10h26

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