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

Accès aux données Discussion :

Updater une table a partir d'une autre


Sujet :

Accès aux données

  1. #1
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut Updater une table a partir d'une autre
    Bonjour

    Mes moyennes connaissance SQL ne sufisent pas a trouver comment mettre a jour une table a partir d'une autre en MySql

    Explication

    J'ai une Table T1 dans une db DB1
    J'ai une Table T2 dans une db DB2


    T1 et T2 ont exactement le meme lay-out

    J'aimerais

    Updater certains rows de T1 avec des rows de T2 a partir de leur ID

    Un truc du genre


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    update into DB1.T1 from (select * from DB2.T2 where ID in (1,2,3));
    Est-ce possible ?

    Merci de votre aide

  2. #2
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    La meilleure façon de le savoir est de tester.

    Sinon, je ne pense pas que les connecteurs .net gère ce cas. Généralement, tu indique la base de données sur laquelle tu bosse dans la chaîne de connexion. Vu que la tu travaille sur deux bases, il ne faudrait indiquer que le serveur. Je ne sais pas si cette possibilité est donné par tout les connecteurs.

  3. #3
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Salut

    Oublions les deux bases et postulons que les deux tables sont dans la meme DB

    Quelle syntaxe est la plus simple ?

    Peut on faire autrement qu'un update avec assignation explicite de chaque champs ?

    Pour in insert ca marche mais pour un update ??

  4. #4
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    N'ayant pas tester, je ne peux rien confirmer

    Et sinon, est-ce que des triggers sur une table ne pourrait pas refléter le changement sur la deuxième ?

  5. #5
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Salut

    Le but n'est pas de faire du trigger en temps reel mais de mettre a jour (remplacer) dans certaines situation certains rows d'une table a partir d'une autre table.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2009
    Messages : 81
    Points : 60
    Points
    60
    Par défaut
    Salut,

    UPDATE T1 SET T1.row1 = (SELECT row2 FROM T2)

    ou peut être

    UPDATE T1 SET T1.row1 = SELECT row2 FROM T2

    Je ne suis pas sûr pour les parenthèse mais normalement ça devrait fonctionné. J'avais fait pareil mais avec un replace au lieu d'un select mais je n'avais pas mis de parenthèses.

    Par contre puisque tes tables ne sont pas dans la base de donnée je doute qu'une requête comme ça puisse fonctionner.

    Edit: oops, vieux post

Discussions similaires

  1. Réponses: 6
    Dernier message: 15/06/2010, 03h18
  2. Réponses: 4
    Dernier message: 01/04/2010, 12h06
  3. [MySQL] Créer une table actuelle à partir d'une table historique
    Par cleminute dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 20/10/2009, 14h35
  4. update champ d'une table a partir d'une autre table
    Par tifsa dans le forum Requêtes
    Réponses: 6
    Dernier message: 25/09/2008, 16h38
  5. Update d'une table a partir d'une autre table
    Par Yannis06 dans le forum Oracle
    Réponses: 6
    Dernier message: 11/08/2005, 11h32

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