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 :

key column doesn't exist


Sujet :

MySQL

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 354
    Points : 134
    Points
    134
    Par défaut key column doesn't exist
    Bonjour ,

    J'ai crée sous mysql deux tables licence et contact puis j'essaie de creer une table contratsupport
    avec la syntaxe suivante
    .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    create table contratsupport (
    idContratsupport int primary key auto_increment,
    constraint 'premier' foreign key (idcontact) references contact (idcontact) ,
    constraint foreign key (idlicence) reference licence (idlicence),
    dateDebut varchar (20),dateFin varchar (20) ) ;
    j'obtiens le message d'erreur error 1072 : key column idlicence doesn't exist
    Je vous assure que j'ai bien une table licence avec une clé primaire idlicence
    Après avoir utilisé google et la fonction recherche,j'ai cru comprendre qu'il fallait que je mette en place un index mais à quoi ça sert.
    Quelle est la différence entre une primary key et un index.
    Quel est l'interet des index .
    Dernière question : qu'est ce que je dois faire pour que mon code marche.

    Merci de votre aide .

  2. #2
    Expert confirmé

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Points : 4 324
    Points
    4 324
    Par défaut
    Bonjour,

    C'est normal, un foreign key lie un champ d'une table à celui d'un autre, le premier spécifié dans le foreign key (ici idlience), n'est pas présent dans ta table, le SGBD renvoi donc une erreur.

    Lors d'une recherche d'information (un SELECT par exemple), le moyen le plus évident d'effectuer une recherche est de faire un parcours séquentiel, c'est a dire prendre un a un les tuples jusqu'à trouver le bon. Le deuxième moyen qu'on peut imaginer se fera sur des informations trié, on peut faire des recherches dichotomiques bien plus performantes.
    Les index sont un autre moyen d'accélérer la recherche d'information on proposant un parcours différent. les index pointent donc vers une information préalablement défini de façon a accélérer la recherche. Les index sont donc la clé de l'optimisation d'une base de données.

    La primary key est une contrainte d'intégrité qui permet d'identifier un tuple, lle est donc unique. Pour des raisons d'optimisation les SGBD associent la plupart du temps (pour ne pas dire toujours), un index a cette clé primaire.

    Dernière question : qu'est ce que je dois faire pour que mon code marche.
    rajouter une colonne idlicence à la table que tu viens de créer.
    http://alaindefrance.wordpress.com
    Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
    SDE at BitTitan

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 354
    Points : 134
    Points
    134
    Par défaut
    Merci de la réponse je vais tester ça aujourd'hui.

    [Edit]
    OK j'ai fait mes tests.
    ça marche nickel, j'ai une dernière faveur avec DBdesigner j'ai ressorti le schéma de mes tables.Est ce que tu peux jeter un oeil sur le doc en pièces jointes et me faire des remarques sur le schéma choisi.

  4. #4
    Expert confirmé

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Points : 4 324
    Points
    4 324
    Par défaut
    Il est difficile de commenter un MCD sans connaitre l'environnement qu'il doit satisfaire.
    De plus ici ce n'est pas un MCD mais un MLD (graphique mais MLD), la perde d'information est très grande, il est difficile de commenter efficacement
    Avec un MCD et la description de ton activité et ce que tu dois gérer, il sera envisageable d'avoir un esprit critique sur l'organisation de tes données.
    http://alaindefrance.wordpress.com
    Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
    SDE at BitTitan

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 354
    Points : 134
    Points
    134
    Par défaut
    Merci Kazou je marque le post comme résolu

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

Discussions similaires

  1. Check - Column doesn't exist
    Par weautus dans le forum Requêtes
    Réponses: 2
    Dernier message: 13/05/2012, 15h08
  2. Réponses: 3
    Dernier message: 07/12/2011, 13h48
  3. [10g ] ORA-01041 Hostdef Extension doesn't Exist
    Par nourdev dans le forum Oracle
    Réponses: 17
    Dernier message: 09/02/2006, 13h38
  4. Erreur #1146 - Table 'zzz.joggings' doesn't exist...
    Par fabreizhad dans le forum Débuter
    Réponses: 15
    Dernier message: 03/12/2005, 00h47
  5. [ERROR] region-name doesn't exist in the layout-master-set
    Par Elea49 dans le forum XML/XSL et SOAP
    Réponses: 7
    Dernier message: 31/08/2005, 07h43

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