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 MySQL Discussion :

Erreur Duplicate key name


Sujet :

Requêtes MySQL

  1. #1
    Membre actif Avatar de snipes
    Inscrit en
    Septembre 2004
    Messages
    547
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 547
    Points : 295
    Points
    295
    Par défaut Erreur Duplicate key name
    salut tout le monde
    ca fait un ti moment deja que j essaye de definir une foreign key mais sans succes
    je me retrouve avec le message d erreur suivant :
    #1061 - Duplicate key name 'INTERVENTION'

    INTERVENTION etant le nom de la table sur laquelle j essaye d appiquer la commande suivante :

    ALTER TABLE INTERVENTION ADD FOREIGN KEY INTERVENTION(`IDLOG`) REFERENCES LOGICIEL(`IDLOG`)


    Bien entendu toutes mes tables sont deja crée et les propriétés aussi

  2. #2
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Salut snipes,

    Les noms de clés doivent être uniques. Duplicate key name signifie qu'une autre clé (ou index) porte déjà ce nom...
    Pensez au bouton

  3. #3
    Membre actif Avatar de snipes
    Inscrit en
    Septembre 2004
    Messages
    547
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 547
    Points : 295
    Points
    295
    Par défaut
    effectivement mon probleme vient du fait que j ai deja declaré IDLOG comme etant une clé primaire mais c etait pour une association porteuse de données

    Comment faire alors car dans mon MCD j ai une table qui depend de la table logiciel et une association porteuse de données entre la table logiciel et une autre
    Pour les associations porteuses de données faut il declaré les 2 clé des tables liées comme etant primaires et a la fois etrangeres ou faut il faire autrement :

  4. #4
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Oui, du moins le couple composé des deux colonnes est la clé primaire et individuellement, chacune des colonnes a une contrainte de clé étrangère.

    Il pourrait être bon d'adopter des conventions de nommage pour tes clés et index, par exemple : fk_interv_logiciel pour la foreign key référençant logiciel dans la table intervention.

    http://sqlpro.developpez.com/cours/standards/#L3.9
    Pensez au bouton

  5. #5
    Membre actif Avatar de snipes
    Inscrit en
    Septembre 2004
    Messages
    547
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 547
    Points : 295
    Points
    295
    Par défaut
    Ok je pensais que c etait pas permi comme quoi on en apprend tous les jours

    en tout cas merci pour le lien tres interessant

  6. #6
    Membre actif Avatar de snipes
    Inscrit en
    Septembre 2004
    Messages
    547
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 547
    Points : 295
    Points
    295
    Par défaut
    apparement j ai parlé trop vite
    apres avoir préfixé toutes mes clé etrangeres je me retrouve encore avec le meme probleme


  7. #7
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Citation Envoyé par snipes
    apres avoir préfixé toutes mes clé etrangeres je me retrouve encore avec le meme probleme
    A savoir... ?
    Pensez au bouton

  8. #8
    Membre actif Avatar de snipes
    Inscrit en
    Septembre 2004
    Messages
    547
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 547
    Points : 295
    Points
    295
    Par défaut
    J ai mi C_FK_ losque j etais en presence de clé etrangere

  9. #9
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Mais quelle est la requête qui plante et quel message d'erreur ?
    Pensez au bouton

  10. #10
    Membre actif Avatar de snipes
    Inscrit en
    Septembre 2004
    Messages
    547
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 547
    Points : 295
    Points
    295
    Par défaut
    voici la requete qui plante :

    ALTER TABLE INTERVENTION ADD FOREIGN KEY INTERVENTION(`IDLOG`) REFERENCES LOGICIEL(`IDLOG`)
    message d erreurs:

    #1061 - Duplicate key name 'INTERVENTION'

  11. #11
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut


    D'après ce qu'on a dit ça serait plutôt un truc du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE intervention ADD FOREIGN KEY fk_interv_logiciel(`IDLOG`) REFERENCES logiciel(`IDLOG`)
    Pensez au bouton

  12. #12
    Membre actif Avatar de snipes
    Inscrit en
    Septembre 2004
    Messages
    547
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 547
    Points : 295
    Points
    295
    Par défaut
    effectivement en fait moi j avais fait

    ALTER TABLE INTERVENTION ADD FOREIGN KEY INTERVENTION(`C_FK_IDLOG`) REFERENCES LOGICIEL(`IDLOG`)

    j ai pas trop compris l histoire de contrainte de table
    je connais uniquement celle qui intervient au niveau des propriétés

  13. #13
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    OK, je vois le dialogue de sourds

    La syntaxe c'est

    ADD [CONSTRAINT [symbol]]
    FOREIGN KEY [index_name] (index_col_name,...)
    [reference_definition]
    et pas

    ADD [CONSTRAINT [symbol]]
    FOREIGN KEY [table_name] (index_col_name,...)
    [reference_definition]
    C'est le nom de ta contrainte de clé étrangère qui doit précéder le (IDLOG) et pas le nom de la table !
    Pensez au bouton

  14. #14
    Membre actif Avatar de snipes
    Inscrit en
    Septembre 2004
    Messages
    547
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 547
    Points : 295
    Points
    295
    Par défaut
    aurais tu de la documentation a ce sujet car je m y perd un peu la

  15. #15
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Oui, le manuel MySQL au chapitre ALTER TABLE...

    En gros tu essaies de faire ADD FOREIGN KEY nom_de_la_table(`IDLOG`) au lieu de ADD FOREIGN KEY nom_de_la_contrainte(`IDLOG`).
    Il est conseillé de nommer les contraintes de clés étrangères, pour des raisons de clarté et pour pouvoir les supprimer facilement.
    Pensez au bouton

  16. #16
    Membre actif Avatar de snipes
    Inscrit en
    Septembre 2004
    Messages
    547
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 547
    Points : 295
    Points
    295
    Par défaut
    OK j ai ENFIN compris et ca marche
    fallait que je retourne un ti peu dans mes cours j avais vu ca y a 2ans jm en souvenais meme plus

    et puis j avais une autre erreur comme le type des colonnes qui n etait pas le meme

    pour ton aide

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/11/2014, 10h14
  2. Erreur "Duplicate keys when loading Input Field"
    Par Joz79 dans le forum QlikView
    Réponses: 1
    Dernier message: 18/04/2012, 14h00
  3. Réponses: 25
    Dernier message: 29/07/2010, 19h30
  4. Erreur sql duplicate key violates unique constaint
    Par valvalval dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/06/2008, 23h15
  5. [MySQL] erreur 1061 duplicate key name
    Par porco dans le forum Langage SQL
    Réponses: 2
    Dernier message: 02/01/2007, 12h52

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