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 :

Mise à jour d'une table à partir des informations d'une autre table


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 17
    Points : 17
    Points
    17
    Par défaut Mise à jour d'une table à partir des informations d'une autre table
    Bonjour,

    Je cherche a mettre à jour d'une table à partir des informations d'une autre table avec MySql

    J'ai trouver cet exemple sur http://fr.wikipedia.org/wiki/Structured_Query_Language

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    UPDATE TABLE1
    SET   (colonne3, colonne4) = (SELECT colonne32, colonne13 
                                  FROM   TABLE2 
                                  WHERE  TABLE1.colonneX = TABLE2.colonneY)
    WHERE  colonneZ IN (SELECT col FROM TABLE2)
    Mais pas moyen de faire fonctionner cela.

    Ce que je cherche a faire exemple :
    J'ai deux tables :
    Table1
    champ1_1
    champ1_2

    Table2
    champ2_1
    champ2_2
    Le but est de copier les champs de la table 1 vers la table 2 via une seule requete UPDATE

    Quelqu'un a il déjà fait ça et comment ?

    Merci de votre aide.

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 032
    Points
    34 032
    Billets dans le blog
    14
    Par défaut
    Avec une jointure...

    Dans le WHERE, il y a la condition de jointure entre les deux tables.

    Tu peux donc faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE TABLE1 t1
    INNER JOIN TABLE2 t2 ON t1.colonneX = t2.colonneY  AND t1.colonneZ = t2.col
    SET t1.colonne3 = t2.colonne32, t1.colonne4 = t2.colonne13
    Vérifie par un SELECT avant de lancer l'UPDATE quand même parce que la double condition de jointure... pas sûr d'avoir compris le besoin !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 016
    Points : 23 705
    Points
    23 705
    Par défaut
    Tu peux même faire des jointures externes en sortant la condition de jointure de la clause WHERE.
    Un exemple est donné dans la discussion suivante : http://www.developpez.net/forums/d67...update-tables/

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 17
    Points : 17
    Points
    17
    Par défaut
    Merci de votre aide,

    Cela fonctionne super bien

    C'est super pratique, cela évite un Select puis un Update

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/08/2014, 18h14
  2. [RegEx] Mise à jour d'un fichier à partir des données d'un tableau
    Par saramery dans le forum Langage
    Réponses: 21
    Dernier message: 03/11/2008, 23h58
  3. Update d'une table à partir des données d'une autre
    Par gregoryacf dans le forum Langage SQL
    Réponses: 2
    Dernier message: 21/04/2008, 14h02
  4. Réponses: 9
    Dernier message: 19/09/2006, 19h27
  5. Réponses: 1
    Dernier message: 23/01/2006, 18h53

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