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 champ d'une table à partir d'une autre table


Sujet :

Requêtes MySQL

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 365
    Points : 192
    Points
    192
    Par défaut Mise à jour champ d'une table à partir d'une autre table
    Bonjour,

    J'ai une table appelée "livre_prov" avec un seul champ : "new_fichier_image" comportant des noms d'image. J'ai une autre table appelée "livre" qui comporte plusieurs champs avec notamment un champ "old_fichier_image" comportant des noms d'image. Je souhaiterais mettre à jour ce champ "old_fichier_image" à partir du champ "new_fichier_image" de la table "livre_prov". J'ai essayé cette requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    UPDATE livre
    SET old_fichier_image=(SELECT new_fichier_image FROM livre_prov)
    Mais j'ai l'erreur suivante : "#1242 - Subquery returns more than 1 row"

    Voyez-vous comment procéder ? J'utilise MySql. Merci de votre aide.

  2. #2
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    salut,

    ça ne peut pas se faire comme tu le fais...

    si tu veux faire ça tu dois passer par une jointure qui mettras en correspondance tes 2 tables en fonction d'un critère (identifiant la ligne qui est concernée dans chaque table)... or ta table avec les nouvelles valeur ne le permet pas...

    prenons un exemple de structures:
    • t1(id,nom,image)
    • t2(id,image)

    sous réserve que id dans t2 soit la correspondance de id dans t1 pour retrouver la ligne à modifier (il te manque ça dans ta 2ème table, avec les nouvelles valeurs)... alors la mise à jour ressemblerait à ça:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    update t1
    inner join t2 on t1.id=t2.id
    set t1.image=t2.image
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 365
    Points : 192
    Points
    192
    Par défaut
    Merci beaucoup J'ai effectivement rajouté un champ id dans ma table "livre_prov" pour rendre possible la jointure avec la table "livre". Du coup je suis arrivé à mes fins grâce la requête update.

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

Discussions similaires

  1. [AC-2007] Mise a jour d'un formulaire a partir d'une liste déroulante d'un autre formulaire
    Par Daniel-Gérald dans le forum VBA Access
    Réponses: 1
    Dernier message: 12/08/2014, 09h33
  2. Réponses: 7
    Dernier message: 22/06/2012, 12h12
  3. [AC-2003] Mise à jour d'un sous-formulaire à partir d'une zone de liste
    Par SIENWEST dans le forum IHM
    Réponses: 3
    Dernier message: 10/03/2010, 17h10
  4. Réponses: 1
    Dernier message: 02/07/2009, 14h42
  5. Réponses: 4
    Dernier message: 09/07/2008, 14h05

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