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 :

myphpadmin : Requête entre update et insert


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2011
    Messages : 88
    Par défaut myphpadmin : Requête entre update et insert
    Bonjour,

    Voilà j'ai 2 bases de données, A et B. Je dois importer dans la BDD A des lignes d'une table de la B qui elle s'actualise et non la A. Dons si j'exporte la B et l'importe dans la A je dois insérer les nouvelles lignes et/ou updates ceux qui y sont déjà, mais c'est dans la pratique long de vérifier une par une.

    Donc ma question, il y a pas une requête qui permet si j'importe la base dans la A elle vérifie si la ligne ( donc la clef/id) existe elle update et si elle existe pas alors elle insert?

    Merci

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 954
    Par défaut
    myphpadmin c'est phpmyadmin je pense donc la base c'est mysql ?

    Normalement on utilise MERGE pour ce genre de besoin mais avec mysql c'est ON DUPLICATE KEY. Ce qui implique une clé (primaire ou unique) à violer pour passer sur l'update

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2011
    Messages : 88
    Par défaut
    A d'accord merci.

    Et ça se passe comment niveau syntaxe ON DUPLICATE KEY pour par exemple:

    je donne l'exemple pour un insert:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO `acc` (`id`, `Nom`, `Password`, `Email`) VALUES
    (1, 'test', 1456, '@mail');
    Merci

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 954
    Par défaut
    Ben j'ai mis un lien vers la doc qui donne des exemples...
    Si id est la clé primaire, donc si la valeur id = 1 est déjà présente on update les autres colonnes.
    Ca doit donner quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    INSERT INTO acc (id, Nom, Password, Email) 
    VALUES (1, 'test', 1456, '@mail')
    on duplicate key
    update nom = 'test'
         , password = 1456
         , email = '@mail';
    Mais ça fonctionne aussi avec INSERT INTO SELECT, pas besoin d'insérer ligne à ligne de la base B vers la base A.

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2011
    Messages : 88
    Par défaut
    ok je vais me débrouiller merci.

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2011
    Messages : 88
    Par défaut
    en faite jarrive pas.

    J'exporte ma BBD B

    donc j'ai ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    INSERT INTO `acc` (`id`, `Name`, `Password`, `Email`) VALUES
    (1, 'test', 'kjyiuiiu', 'uytjgr@hotmail.fr'),
    (2, 'test1', 'iuyijkj', 'jytuy@live.fr'),
    (3, 'test2', 'iuyjj', 'uytu@live.fr');
    Donc ma BDD A à les id 1 et 2 mais pas 3 ( c'est simple ) avec ton exemple ça donne quoi?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    INSERT INTO `acc` (`id`, `Name`, `Password`, `Email`) VALUES
    (1, 'test', 'kjyiuiiu', 'uytjgr@hotmail.fr'),
    (2, 'test1', 'iuyijkj', 'jytuy@live.fr'),
    (3, 'test2', 'iuyjj', 'uytu@live.fr');
    ON duplicate KEY
    UPDATE (1, 'test', 'kjyiuiiu', 'uytjgr@hotmail.fr'),
    (2, 'test1', 'iuyijkj', 'jytuy@live.fr'),
    (3, 'test2', 'iuyjj', 'uytu@live.fr');
    je pense pas c'est ça, car si j'ai plus de 50 lignes je vais pas découper un par un bout.

Discussions similaires

  1. Update or insert entre 2 tables
    Par Linconnu dans le forum Développement
    Réponses: 4
    Dernier message: 30/03/2015, 13h01
  2. Requêtes multiple en Update et insert into
    Par loic3484 dans le forum MySQL
    Réponses: 8
    Dernier message: 13/03/2015, 23h06
  3. Souci requêtes UPDATE et INSERT (multitable)
    Par caema dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/01/2014, 14h27
  4. [Débutant(e)] Création d'une requête update ou insert
    Par boulete dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 12/04/2006, 18h24
  5. Update ou insert avec incrément d'un champ
    Par dany13 dans le forum ASP
    Réponses: 5
    Dernier message: 15/10/2004, 12h53

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