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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 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
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    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 818
    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, en retraite... mais toujours Autoentrepreneur à l'occasion.
    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 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 059
    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 averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 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