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

PHP & Base de données Discussion :

INSERT INTO et JOINTURE [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé Avatar de florianjoy54
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 155
    Par défaut INSERT INTO et JOINTURE
    Bonjour,

    voila j'ai 2 tables EVENEMENT et TYPESPORT

    champs de la table EVENEMENT :

    CODEEVENEMENT CODESPORT IDCEDEX NBMAXPERSONNE NBMINPERSONNE NBACTUEL DESCRIPTION STATUT

    champs de la table TYPESPORT :

    CODESPORT NOMSPORT

    CODESPORT de la table evenement et la clé étrangère de CODESPORT de la table typesport.

    le problèeme est quand j'insère un nouveau sport. j'insère un sport (par exemple : basket) dans la table typesport

    jusqu'ici pas de problème. Mais comment je peux faire en sorte que le CODSPORT se répercute dans la table evènement.

    j'ai essayé de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    INSERT typesport(CODESPORT)  SELECT CODESPORT from evenement
    where typesport.CODESPORT = evenement.CODESPORT
    pour récupérer le code de la table typesport et le mettre dnas la table evenement.

    si vous pouvez m'aider

    cordialement

  2. #2
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    Bonjour,
    Avec quoi fais-tu l'insertion ?
    Si c'est avec php et que tu as une clé primaire avec autoincrément, la fonction mysql_insert_id te permettra de requpéré l'id issue del'isertion, et de l'utiliser pour une nouvelle requete dans ton autre table.
    A part utilisé un trigger ou une fonction/procédure, c'est la seul solution que je connaisse, et je crois la plus utilisée.
    Bon courage
    Z.

  3. #3
    Membre confirmé Avatar de florianjoy54
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 155
    Par défaut
    OUI c'est avec PHP.

    j'ai une fonction qui permet d'insérer le sport.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
     function insertEventSport($nomSport)
    	 {
    		mysql_query("insert into typesport (NOMSPORT) values('$nomSport')");
    	 }

    et mon codeSport est bien en auto_increment dans ma base de donnée


    je te remercie de ton conseil

  4. #4
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    Je ne comprends pas pq tu dois repercuté dans la table évènement le sport inséré.
    Dans l'ordre :
    1) Tu inseres le sport.
    2) optionnelement : tu recuperes l'id et ajoute un évènmenet

    Ou j'ai mal interpreté ?
    Z.

  5. #5
    Membre confirmé Avatar de florianjoy54
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 155
    Par défaut
    en fait quand j'ai créé mes tables à partir du mld. MYSQL m'a mis le champs CODESPORT dans la table Evenement.

    enfin pour moi je suis obligé de répercuté le codeSPORT pour connaitre l'évènement qui lui est associé.

    je sais pas si je suis clair.

    en fait sa serai pour l'évènement "13 " le sport qui lui est associé c'est le 14 (Tennis par exemple).

  6. #6
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    In va essayer de comprendre ce que t'a imposé ton logiciel.

    Est ce que mes affirmations sont justes (la cardinalité) :
    A un sport correspond zero ou plusieurs évènements ?
    A un évènement correspond un et un seul sport ?

    Si non, peux-tu reformuler ces phrases avec les mots zero, un, plusieurs ?
    Normalement, tu as du le faire avec ton logiciel, et ca apparaitrait peut etre avec qq chose ressemblant a '1,n' ou '0,n'.
    Z.

  7. #7
    Membre confirmé Avatar de florianjoy54
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 155
    Par défaut
    oui oui je vais t'expliquer les cardinalités.

    donc un sport peut être dans 0 ou plussieurs èvenement (0,n) et un èvenement a 1 et un seul sport (1,1).

    Dans un évènement je peux pas avoir 2 sports. (Tennis et foot)

  8. #8
    Membre confirmé Avatar de florianjoy54
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 155
    Par défaut
    c'est bien ce que tu as dis

  9. #9
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    Donc si tu ajoutes un sport, il n'a pas encore d'evènement associé, donc ou est le problème ?
    ta jointure te retournera aucun résultat .

  10. #10
    Membre confirmé Avatar de florianjoy54
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 155
    Par défaut
    non c'est quand j'ajoute l'évènement que je dois associer cet évènement au sport sélectionné

    et comme je faisais l'insertion du sport dans la table typesport. je n'avais pas accès au code du sport dans la table évènement.

    mais avec ta solution donnée précedamment j'ai résolu mon problème

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 13
    Par défaut Exactement la même question
    Bonjour,

    J'ai exactement le même problème, ma question est identique.
    Quand on a des foreign keys dans une table principale et que l'on veut faire un INSERT sur cette même table. Sachant que les valeurs dans les tables périphériques n'existent pas encore, puisque l'on veut tout insérer d'un coup, j'aimerais que quelqu'un qui à de l'expérience nous renseigne sur la manière de procéder : triggers ou pas, ou insertion dans les tables périphériques d'abord, puis récupération des ID nouvellement crées, et enfin insertion dans la table principale avec les informations récupérées.

    Besoin de méthodes, merci de nous éclairer.
    Locus.

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

Discussions similaires

  1. INSERT INTO avec jointure
    Par bip-bip dans le forum SQL
    Réponses: 4
    Dernier message: 28/05/2015, 13h27
  2. [AC-2007] Problème de jointure dans INSERT INTO avec INNER JOIN
    Par andy331 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 16/03/2010, 15h59
  3. [AC-2007] Jointure dans un INSERT INTO
    Par andy331 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 10/03/2010, 23h30
  4. Jointure entre plusieurs requetes INSERT INTO
    Par Bernard67 dans le forum Requêtes et SQL.
    Réponses: 18
    Dernier message: 11/01/2009, 18h42
  5. Insert Into + Jointure ?
    Par Kenshin86 dans le forum Langage SQL
    Réponses: 9
    Dernier message: 09/04/2008, 17h25

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