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 :

requete dans plusieurs DB sur un meme hote


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier Avatar de _Agrid
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 112
    Points : 112
    Points
    112
    Par défaut requete dans plusieurs DB sur un meme hote
    Bonjour

    J'ai une problématique dans mysql, j'ai plusieurs base de données sur un même hote ( ex : db1, db2, db3, ..., synthese).

    Dans chacune des db j'ai des tables notamment une que je vais appeler table1

    J'aurais souhaité inserer des donnees de db1.table1, db2.table1, db3.table1, ... dans synthese.table1 en filtrant suivant un champ.

    j'ai essayé de faire une selection

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from db1.table1 where 1
    mais j'ai une erreur

    Pouvez vous me dire s'il est possible de réaliser ce genre de requete, j'ai l'impression que le db1.table1 même avec de quotes n'est pas pris en charge

    cordialement

    Merci

    _Agrid

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 331
    Points : 394
    Points
    394
    Par défaut
    Tu as le droit de lecture sur les tables de la base db1?

  3. #3
    Nouveau membre du Club Avatar de Vetchostar
    Développeur Web
    Inscrit en
    Septembre 2005
    Messages
    51
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2005
    Messages : 51
    Points : 39
    Points
    39
    Par défaut requete sur plusieurs bases
    si tu as le droit sur les différentes bases de données tu peux simplement faire deux requette après t'être connecté sur les bases de donnée concerné par mysql_connect et stocker les resultats dans un tableau puis le traiter pour avoir les resultats voulu.

  4. #4
    Membre régulier Avatar de _Agrid
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 112
    Points : 112
    Points
    112
    Par défaut
    Oui j'ai accès

    je lance la requete via phpmyadmin

    mon nom de base est un peu tordu 20090520-1800_20090518-0800 est cela le pb ?

  5. #5
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Saluton,
    écris-le comme ça `20090520-1800_20090518-0800`
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  6. #6
    Membre régulier Avatar de _Agrid
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 112
    Points : 112
    Points
    112
    Par défaut
    impec !

    il faut utiliser le quote du 7 et non celui du 4 pour que cela marche

    Merci à tous

    _Agrid

  7. #7
    Membre régulier Avatar de _Agrid
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 112
    Points : 112
    Points
    112
    Par défaut
    Bonjour

    Ma problématique maintenant c'est de lancer ma requete de maniere récurcive

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT *
    FROM (
    SELECT SCHEMA_NAME 
    FROM INFORMATION_SCHEMA.SCHEMATA
    where SCHEMA_NAME like '2008%').table1;
    mais la j'ai une erreur de syntaxe

    j'ai renommer le nom de mes bases pour qu'elles soient moins compliquées mais j'ai toujour cette erreur

    Est il possible de mettre un select dans un from sur mysql ?

    Merci

    _Agrid

  8. #8
    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
    Si je comprends le sens de ta requête, tu cherches à sélectionner des lignes des 'table1' de toutes les bases dont le nom commence par 2008, et ce simultanément ?
    Ca ne me semble pas possible.
    A supposer qu'il y ait deux bases 2008_1 et 2008_2 et que les table1 de ces deux bases aient la même structure, la bonne requête serait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT *
    FROM 2008_1.table1
    UNION
    SELECT *
    FROM 2008_2.table1
    Ajoute autant d'UNION qu'il y a de bases à prendre en compte.
    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 !

  9. #9
    Membre régulier Avatar de _Agrid
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 112
    Points : 112
    Points
    112
    Par défaut
    Bonjour CinePhil

    oui c'est comme ça que je m'en suis sorti, mais a 20 db x 5 requetes c'est un peu rébarbatif ! surtout que je dois le faire tout les mois

    Je ne sais pas s'il y a une soluce en procédural, je ne le maitrise pas du tout

    merci de vos réponses

    Cdlt

    _Agrid

  10. #10
    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
    Je ne maîtrise pas non plus le SQL procédural (jamais eu encore à l'utiliser) mais en php tu peux faire ça assez facilement. Il suffit de récupérer le nom des bases à traiter dans information schema puis une boucle while avec une requête paramétrée.
    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 !

Discussions similaires

  1. Ecrire une requete dans une formulaire sur plusieurs lignes
    Par Elendhil dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 21/01/2008, 15h44
  2. Réponses: 3
    Dernier message: 20/05/2007, 23h41
  3. Plusieurs jointures sur la meme table [complexe]
    Par Wells dans le forum Requêtes
    Réponses: 2
    Dernier message: 06/06/2006, 11h41
  4. plusieurs sessions sur un même PC
    Par mouloudéen dans le forum Windows XP
    Réponses: 9
    Dernier message: 02/06/2006, 11h11
  5. 1 requete : 2 sum, mais sur le meme champ ...
    Par aergil dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/03/2006, 16h21

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