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

Outils MySQL Discussion :

rajout clef étrangère


Sujet :

Outils MySQL

  1. #1
    Membre régulier Avatar de neoboy
    Inscrit en
    Juillet 2007
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 200
    Points : 96
    Points
    96
    Par défaut rajout clef étrangère
    Bonjour à tous ,

    voila transférer 4 tables de access vers mysql et je remarquer que les relations entre les tables ont disparus du cout , je voulais savoir quelle était la syntaxe pour rajouter une clef étranger dans table ,

    merci d'avance !!

  2. #2
    Membre averti Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Points : 441
    Points
    441
    Par défaut
    Citation Envoyé par neoboy Voir le message
    Bonjour à tous ,

    voila transférer 4 tables de access vers mysql et je remarquer que les relations entre les tables ont disparus du cout , je voulais savoir quelle était la syntaxe pour rajouter une clef étranger dans table ,

    merci d'avance !!
    Cela dépend de ton SGBD :
    MySQL et SQL Server:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER TABLE TableDestination
    ADD FOREIGN KEY (LeNomDeTaCleEtrangere) REFERENCES TableReferencee(CleReferencee);

    Oracle:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER TABLE TableDestination
    ADD (CONSTRAINT fk) FOREIGN KEY (LeNomDeTaCleEtrangere) REFERENCES TableReferencee(CleReferencee);
    Etre ou ne pas être, telle est la question sinusoïdale de l'anachorète hypocondriaque et vice et versa .
    Bonsai monsieur, bonsai madame, vous avez gagnez un milliard de degrés au soleil .
    There is no cure for stupidity (ou pas ).

  3. #3
    Membre régulier Avatar de neoboy
    Inscrit en
    Juillet 2007
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 200
    Points : 96
    Points
    96
    Par défaut
    en réalité quand je mets ton code j'ai une erreur , mais y a un index qui est crée .




    erreur :Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\phpmyadmin\libraries\header_meta_style.inc.php:27) in C:\wamp\phpmyadmin\libraries\common.lib.php on line 1154


    c quoi le prb stp.

  4. #4
    Membre averti Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Points : 441
    Points
    441
    Par défaut
    Je ne m'y connais pas en php.
    Déjà est-ce que t'as les droits pour faire des alter table et companie ?
    Etre ou ne pas être, telle est la question sinusoïdale de l'anachorète hypocondriaque et vice et versa .
    Bonsai monsieur, bonsai madame, vous avez gagnez un milliard de degrés au soleil .
    There is no cure for stupidity (ou pas ).

  5. #5
    Membre régulier Avatar de neoboy
    Inscrit en
    Juillet 2007
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 200
    Points : 96
    Points
    96
    Par défaut
    c'est quoi cette histoire de droits sur les alter ??? tu peux me donner plus de details. car quand je rentre le code y a un message d'erreur qui s'acffiche ok, mais y a un index qui est créer , un index n'est pas une clef étranger. car quand j'essaye de faire une relation , sur le champ ou il y a l'index c'est ecrit " pas de clef "

  6. #6
    Membre régulier Avatar de neoboy
    Inscrit en
    Juillet 2007
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 200
    Points : 96
    Points
    96
    Par défaut
    j'au mis ç comme code , il l'accepte bien :

    ALTER TABLE distributeurs ADD CONSTRAINT dist_fk FOREIGN KEY (adresse) REFERENCES adresses (adresse) MATCH FULL;



    mais le probleme est quand j'essaye de faire la gestion des relation des table la ou il y a l'index et normalement la clef etrangere il me fait " clef non definie " ??
    c'est quoi le prbl svp

  7. #7
    Membre averti Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Points : 441
    Points
    441
    Par défaut
    Citation Envoyé par neoboy Voir le message
    c'est quoi cette histoire de droits sur les alter ???
    Généralement, si c'est pas toi qui a créé la base de données. Son créateur doit te donner les privilèges pour accéder à la base, genre :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    GRANT ALL PRIVILEGES ON *
    TO TonLogin
    IDENTIFED BY 'TonPassword';
    Etre ou ne pas être, telle est la question sinusoïdale de l'anachorète hypocondriaque et vice et versa .
    Bonsai monsieur, bonsai madame, vous avez gagnez un milliard de degrés au soleil .
    There is no cure for stupidity (ou pas ).

  8. #8
    Membre averti Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Points : 441
    Points
    441
    Par défaut
    Citation Envoyé par neoboy Voir le message
    j'au mis ç comme code , il l'accepte bien :

    ALTER TABLE distributeurs ADD CONSTRAINT dist_fk FOREIGN KEY (adresse) REFERENCES adresses (adresse) MATCH FULL;



    mais le probleme est quand j'essaye de faire la gestion des relation des table la ou il y a l'index et normalement la clef etrangere il me fait " clef non definie " ??
    c'est quoi le prbl svp
    T'as essayé de faire un select de tes champs pour voir si la clé à bien été créée.
    Etre ou ne pas être, telle est la question sinusoïdale de l'anachorète hypocondriaque et vice et versa .
    Bonsai monsieur, bonsai madame, vous avez gagnez un milliard de degrés au soleil .
    There is no cure for stupidity (ou pas ).

  9. #9
    Membre régulier Avatar de neoboy
    Inscrit en
    Juillet 2007
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 200
    Points : 96
    Points
    96
    Par défaut
    c'est-a-dire " select" ???

  10. #10
    Membre régulier Avatar de neoboy
    Inscrit en
    Juillet 2007
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 200
    Points : 96
    Points
    96
    Par défaut
    je pense que la clef est créer mais juste un truc , quand tu gères les relation tu gères seulement les champs ou il y a une clef étrangère mais pas la ou il y a une clef primaire ??

    j'ai essayé de gérer les clefs primaires ç m'affiche un message d'erreur !!!!normal

  11. #11
    Membre averti Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Points : 441
    Points
    441
    Par défaut
    Citation Envoyé par neoboy Voir le message
    c'est-a-dire " select" ???
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select *
    from TaTable;
    Citation Envoyé par neoboy Voir le message
    je pense que la clef est créer mais juste un truc , quand tu gères les relation tu gères seulement les champs ou il y a une clef étrangère mais pas la ou il y a une clef primaire ??

    j'ai essayé de gérer les clefs primaires ç m'affiche un message d'erreur !!!!normal
    Tu entends quoi par gérer ?
    Etre ou ne pas être, telle est la question sinusoïdale de l'anachorète hypocondriaque et vice et versa .
    Bonsai monsieur, bonsai madame, vous avez gagnez un milliard de degrés au soleil .
    There is no cure for stupidity (ou pas ).

  12. #12
    Membre régulier Avatar de neoboy
    Inscrit en
    Juillet 2007
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 200
    Points : 96
    Points
    96
    Par défaut
    tu vois l'anglet " gestion des relations " dans phpmyadmin , la on peut relier les tables c'es ça que je veux dire

  13. #13
    Membre averti Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Points : 441
    Points
    441
    Par défaut
    Citation Envoyé par neoboy Voir le message
    tu vois l'anglet " gestion des relations " dans phpmyadmin , la on peut relier les tables c'es ça que je veux dire
    Non je ne vois pas étant donné que j'ai déjà dit :
    Citation Envoyé par AL1986 Voir le message
    Je ne m'y connais pas en php.
    Tu veux faire quoi exactement (avec les clés primaires)?
    Etre ou ne pas être, telle est la question sinusoïdale de l'anachorète hypocondriaque et vice et versa .
    Bonsai monsieur, bonsai madame, vous avez gagnez un milliard de degrés au soleil .
    There is no cure for stupidity (ou pas ).

  14. #14
    Membre averti
    Avatar de Sieldev
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 259
    Points : 353
    Points
    353
    Par défaut
    En fait AL1986, neoboy veut parler de ça:



    Pour la gestion des relations tu l'as fait juste sur les clés etrangéres.
    Le delete on casacade et le update on cascade permettront juste de supprimer tous les entrées affiliés à la clé etrangére.
    Dans ce cas la, si je supprime une société, alors je supprimerai tous ses contacts, ca evite d'avoir des contacts sans société et surtout à vider la table des entrées inutiles.

    Mais à partir du moment que tu as creé ta clé etrangére sur la table tu as fais le lien.


    Par contre gerer une base de donnée sans savoir ce qu'est un SELECT, c'est à eviter.
    Tu as les bases à savoir sur les bases de données et sur le langage SQL ici:
    - http://sgbd.developpez.com/cours/

  15. #15
    Membre régulier Avatar de neoboy
    Inscrit en
    Juillet 2007
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 200
    Points : 96
    Points
    96
    Par défaut
    merci je voulais juste savoir s'il faut juste traiter que les clefs étrangères ?? mais il reste un truc qui m'inquiète c'est quand je créer une clef étrangère ç affiche comme si j'ai créer un index , normal ou pas ??? comment vérifier qu'elle sont bien crées . merci

  16. #16
    Membre averti
    Avatar de Sieldev
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 259
    Points : 353
    Points
    353
    Par défaut
    Oui que les clés etrangéres.
    Oui c'est normal que se soit en type INDEX, ca veut dire que c'est une clé etrangére.

  17. #17
    Membre averti Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Points : 441
    Points
    441
    Par défaut
    Citation Envoyé par neoboy Voir le message
    mais il reste un truc qui m'inquiète c'est quand je créer une clef étrangère ç affiche comme si j'ai créer un index , normal ou pas ???
    Que veut dire comme si. Un index ne se crée pas tout seul. Soit plus explicite.
    Citation Envoyé par neoboy Voir le message
    comment vérifier qu'elle sont bien crées .
    Déjà dit :
    Citation Envoyé par AL1986 Voir le message
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select *
    from TaTable;
    Etre ou ne pas être, telle est la question sinusoïdale de l'anachorète hypocondriaque et vice et versa .
    Bonsai monsieur, bonsai madame, vous avez gagnez un milliard de degrés au soleil .
    There is no cure for stupidity (ou pas ).

  18. #18
    Membre régulier Avatar de neoboy
    Inscrit en
    Juillet 2007
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 200
    Points : 96
    Points
    96
    Par défaut
    merci , je te remercie beaucoup pour ton aide , c'est très sympa !!! c'est bon c'est résolu maintenant.

  19. #19
    Membre averti Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Points : 441
    Points
    441
    Par défaut
    Citation Envoyé par neoboy Voir le message
    merci , je te remercie beaucoup pour ton aide , c'est très sympa !!! c'est bon c'est résolu maintenant.
    Un bouton est prévu à cet effet
    Etre ou ne pas être, telle est la question sinusoïdale de l'anachorète hypocondriaque et vice et versa .
    Bonsai monsieur, bonsai madame, vous avez gagnez un milliard de degrés au soleil .
    There is no cure for stupidity (ou pas ).

  20. #20
    Membre régulier Avatar de neoboy
    Inscrit en
    Juillet 2007
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 200
    Points : 96
    Points
    96
    Par défaut
    c'est fait tkt

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

Discussions similaires

  1. Affichage étrange sous directGraphic
    Par Cyrik dans le forum DirectX
    Réponses: 7
    Dernier message: 13/09/2003, 13h29
  2. [VB6]rajout d'une case en haut à droite...
    Par tomnie dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 02/09/2003, 10h33
  3. [langage] Comment rajouter des champs dans une liste
    Par toto_titi dans le forum Langage
    Réponses: 4
    Dernier message: 28/08/2003, 14h09
  4. Fonction étrange
    Par Defrag dans le forum Flash
    Réponses: 3
    Dernier message: 17/07/2003, 19h01
  5. Rajout du focus
    Par Claythest dans le forum Composants VCL
    Réponses: 2
    Dernier message: 10/06/2003, 17h10

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