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 :

Transférer données d'une table à une autre


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Points : 13
    Points
    13
    Par défaut Transférer données d'une table à une autre
    Bonjour à tous !

    Je me dirige vers vous car j'ai un petit problème.

    J'ai deux tables (qui contiennent chacunes plus de 200 lignes).

    Table 1 : Produit(id_prod, ref, description)
    Table 2 : ProduitAttribute(id_attrib,id_prod, nom, tax, ref)

    Dans ma table 1, les lignes 'ref' sont vides. C'est pour cela que, je souhaite transférer les 'ref' de la table 2, à la table 1 (avec les même id).

    J'ai donc effectué cette requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE Produit Prod SET ref=(SELECT ref FROM ProduitAttribute ProdAt WHERE Prod.id_prod = ProdAt.id_prod);

    Ca me met cette erreur :

    #1242 - Subquery returns more than 1 row


    Si j'ai bien compris, ma requête Update ne peut s'effectuer que sur une seule ligne ? Avez-vous une solution pour que je puisse effectuer le transfert ?


    En vous remerciant d'avance.

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    bonjour,

    cette erreur apparait car votre sous-requete retourne plus d'une ligne pour une ligne à updater.

    Du coup MySql ne peut pas savoir quelle valeur affecter.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    Merci pour votre réponse. Justement, c'est ce que je précise plus haut. Je souhaite l'affecter à toutes les lignes, est ce qu'il y a une solution ?

  4. #4
    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 006
    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 006
    Points : 23 668
    Points
    23 668
    Par défaut
    Bonjour,

    Ce qu'il vous faut, c'est définir un critère qui permet de ne sélectionner qu'un seul ProduitAttribute et le ref associé quand il y en a plusieurs pour un même Produit...
    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

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Points : 13
    Points
    13
    Par défaut
    Bonjour, et merci de votre réponse.


    Je ne comprends pas quand vous parlez de "définir un critère" ?

    Edit : Ok je vois ce que vous voulez dire, cependant j'ai plus de 200 lignes à copier, là intervient le soucis.... N'y a t il pas un autre moyen ?

  6. #6
    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 006
    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 006
    Points : 23 668
    Points
    23 668
    Par défaut
    Pour un même produit, dans ProduitAttribute, est-ce que ref a toujours la même valeur ?
    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

  7. #7
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Points : 13
    Points
    13
    Par défaut
    Non. La ref diffère selon l'id du produit...

    Exemple :

    Tab1 :

    id_Prod |ref
    1 |(vide)
    2 |(vide)
    3 |(vide)

    Tab2 :

    id_Prod |ref
    1 |Rf456
    2 |Rf857
    3 |Rf987



    Il faut que je remplisse les ref de la tab1, en prenant la tab2... (Rappel : les tables ne sont pas identiques, comme je l'ai précisé sur mon premier message)

    Merci encore pour le temps que vous consacrez à mon problème !

  8. #8
    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 006
    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 006
    Points : 23 668
    Points
    23 668
    Par défaut
    Ma question porte sur les ProduitAttribute...
    Pour être clair : dans votre modèle de données, j'imagine qu'un même produit (un même id_prod) a plusieurs Attribute (id_attrib). Vu le schéma de vos tables, ça ne peut être que ça.

    Supposons que pour l'id_prod = 1, vous ayez les attributs suivants :
    id_attrib id_prod ref
    1         1       ?
    2         1       ?
    3         1       ?
    
    Est-ce que, pour ce produit 1, la référence sur chaque attribut est la même ?
    Si ce n'est pas la même référence, comment comptez-vous faire pour mettre des références différentes sur un même produit ?
    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

  9. #9
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Points : 13
    Points
    13
    Par défaut
    Excellente remarque !!! Je ne l'avais pas remarqué.....

    Du coup ça fausse tout

    En tout cas merci pour votre aide précieuse !

Discussions similaires

  1. [Requête/SQL]Importer des données d'une table à l'autre
    Par atlantideD dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 18/04/2007, 11h46
  2. transfert de données d'une table à l'autre
    Par VIRGINIE87 dans le forum Access
    Réponses: 12
    Dernier message: 06/03/2007, 08h48
  3. import de données d'une table à une autre
    Par Pau dans le forum Access
    Réponses: 3
    Dernier message: 05/04/2006, 15h07
  4. Transférer des données d'une table à une autre
    Par picoloto dans le forum Langage SQL
    Réponses: 8
    Dernier message: 20/12/2005, 11h01
  5. TRansférer des données d'une table à l'autre
    Par kernel57 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 06/10/2005, 15h05

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