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 :

mise a jour de deux tables mysql [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Invité
    Invité(e)
    Par défaut mise a jour de deux tables mysql
    Bonjour,
    J' arrives a mettre a jours une table a partir d'une autre, avec ce simple code bien sur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    <?PHP
    $resultat=mysql_query( "UPDATE utilisateur,utilisateur2 SET utilisateur.a=utilisateur2.a,utilisateur.b=utilisateur2.b WHERE utilisateur.id=utilisateur2.id") or die(mysql_error());
    ?>
    Alors ma question est simplement, pourquoi cela marche , est-ce parcequ'en fait c'est une forme de JOIN, et JOIN n'est'il destiné qu'au SELECT.

    Bien sur le cas échéant, s'il existe une formulation avec JOIN je suis preneuse

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Invité
    Invité(e)
    Par défaut
    Merci de ta réponse,
    Le deuxiéme lien est limpide alors ça donnerais ceci que je viens de tester OK

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?PHP
    $resultat=mysql_query( "UPDATE  0_test2 INNER JOIN 0_test ON 0_test2.id = 0_test.id SET 0_test2.pseudo=0_test.pseudo,0_test2.mdp=0_test.mdp") or die(mysql_error());
    ?>
    franchement j'ais l'impression que les syntaxes sont trés proches, as tu un avis a ce sujet ?

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 191
    Par défaut
    1) INNER JOIN est équivalent à ,
    2) les join du select sont valables pour update et delete
    3) regarde la doc officiel de mysql

  5. #5
    Invité
    Invité(e)
    Par défaut
    Merci pour ces réponses,

    Dans la documentation de MySql, je n'ais pas trouvé de syntaxe comparée, le terme JOIN était toujours utilisé.

    désolée si j'ai mal cherché , encore merci pour cette précision.
    Dernière modification par sabotage ; 24/09/2010 à 10h26.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Les jointures avec WHERE sont obsolètes en SQL depuis peut être 20 ans mais cette syntaxe à la vie dure.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Les jointures avec WHERE sont obsolètes en SQL depuis peut être 20 ans mais cette syntaxe à la vie dure.
    Merci pour l'information,
    cela signifie, ayant utilisé ON dans ma deuxiéme syntaxe, que la premiére aurait du s'écrire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    <?PHP
    $resultat=mysql_query( "UPDATE utilisateur,utilisateur2 SET utilisateur.a=utilisateur2.a,utilisateur.b=utilisateur2.b ON utilisateur.id=utilisateur2.id") or die(mysql_error());
    ?>
    Est-ce bien cela que tu me dis ?

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    La bonne syntaxe complète est tableA JOIN tableB ON critere
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. [PDO] mise a jour de deux tables avec PDO
    Par Invité dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 10/10/2011, 01h44
  2. [MySQL] mise a jour d une table mysql
    Par Invité dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 19/08/2010, 10h34
  3. [MySQL] Requete de mise a jour sur deux table
    Par runcafre91 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 22/02/2010, 10h17
  4. Réponses: 1
    Dernier message: 27/03/2007, 10h23
  5. [SGBD] [MySQL] Problème de mise à jour d'une table
    Par philippef dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 13/01/2006, 15h42

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