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

Langage SQL Discussion :

Import de base, Insert select


Sujet :

Langage SQL

  1. #1
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 692
    Points : 20 244
    Points
    20 244
    Par défaut Import de base, Insert select
    Bonjour à tous,

    J'ai besoin d'importer une base de données (sqlite) dans une autre.
    Pour cela j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO bd1.table1 SELECT * FROM bd2.table1
    Les deux table possède excatement les même champs. Cependant je voudrais modifier la valeur de l'un des champs de bd2.table1 avant de l'insérer dans bd1.table1.

    Est il possible de faire cela sans avoir à faire un UPDATE sur la totalité des enregisterment de l'une ou l'autre des bases sachant que cette valeur à modifié vient de php ?

    Merci

  2. #2
    Membre éclairé Avatar de Arkhena
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 552
    Points : 769
    Points
    769
    Par défaut
    Il suffit de modifier votre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM bd2.table1
    pour qu'il corresponde aux valeurs que vous voulez intégrer dans votre base de données.

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 692
    Points : 20 244
    Points
    20 244
    Par défaut
    Modifier les champs retournés par le SELECT ne me permettra pas de changer la valeur d'un champs précis , ou alors j'ai loupé quelque chose ?

    Pour être plus précis :
    base1 table1 :
    id | nom | texte

    base2 table2 :
    id | nom | texte

    Ce que je souhaiterais c'est que les champs nom de bd2 ne retourne pas leur valeur mais une valeur que je pourrais choisir.

    Actuellement je fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    UPDATE bd2.table1 SET nom = 'monchoix';
    INSERT INTO bd1.table1 SELECT * FROM bd2.table1

  4. #4
    Membre éclairé Avatar de Arkhena
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 552
    Points : 769
    Points
    769
    Par défaut
    Alors il faut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO bd1.table1 SELECT id, 'monchoix', texte FROM bd2.table1
    tout bêtement...

  5. #5
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 692
    Points : 20 244
    Points
    20 244
    Par défaut
    tout bêtement...


    Suffisait d'y penser ^_^

    Merci

  6. #6
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 115
    Points : 28 480
    Points
    28 480
    Par défaut
    Citation Envoyé par Arkhena Voir le message
    Alors il faut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO bd1.table1 SELECT id, 'monchoix', texte FROM bd2.table1
    tout bêtement...
    Et si les colonnes de la table ne sont pas dans l'ordre attendu, on obtient un joyeux mélange... tout bêtement.

    Il vaut mieux préciser les colonnes à alimenter, c'est toujours plus sur !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    INSERT INTO bd1.table1
        (   id
        ,   nom
        ,   texte
        )
    SELECT  id
        ,   'monchoix'
        ,   texte 
    FROM    bd2.table1
    ... et indenter son code, c'est plus lisible

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

Discussions similaires

  1. [INSERT][SELECT] insert avec un select imbriqué
    Par narmataru dans le forum SQL
    Réponses: 11
    Dernier message: 06/03/2013, 04h04
  2. Importer une base de données de 21Mo
    Par prgasp77 dans le forum Outils
    Réponses: 12
    Dernier message: 17/01/2007, 23h05
  3. insert-select sur 2 base différente
    Par gskoala dans le forum Paradox
    Réponses: 2
    Dernier message: 16/11/2004, 16h11
  4. Export / Imports de Bases
    Par Guizz dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 21/07/2003, 15h18

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