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 :

Problème sur ON DUPLICATE KEY UPDATE


Sujet :

Requêtes MySQL

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 35
    Par défaut Problème sur ON DUPLICATE KEY UPDATE
    Bonjour,

    J'ai un problème avec ON DUPLICATE KEY UPDATE.
    Ça ne va pas être facile à expliquer, mais j’espère réussir à éclaircir le problème.

    J'ai deux tables identiques dans deux bases différentes.
    Je souhaite mettre à jour la table de la base Y à partir de la table de la base X.

    Donc ma requête pour son début se construit de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO Y.ma_table (col1, col2, col3)
    SELECT col1, col2, col3 FROM X.ma_table
    Cette requête là fonctionne très bien sous réserve que la table Y soit vide.

    En revanche si un doublon de clé primaire est trouvé, j'aimerais que la ligne concernée dans la table Y prenne les valeurs de la ligne de la table X et c'est là que je bloque.
    Je ne sais pas comment lui dire de prendre les valeurs retournées par la requête SELECT.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    INSERT INTO Y.ma_table (col1, col2, col3)
    SELECT col1, col2, col3 FROM X.ma_table
    ON DUPLICATE KEY UPDATE col1 = ???, col2 = ???, col3 = ???
    J'espère que vous allez pouvoir m'éclairer.
    Merci d'avance !!!

  2. #2
    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 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 057
    Par défaut
    D'après la documentation de MySQL, INSERT... SELECT... et ON DUPLICATE KEY UPDATE... ne sont pas compatibles dans la même syntaxe.

    Essaie éventuellement de passer par REPLACE... SELECT... : http://dev.mysql.com/doc/refman/5.0/fr/replace.html
    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

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 35
    Par défaut
    Au top !!!
    Merci pour cette réponse Je ne connaissais pas cette syntaxe

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

Discussions similaires

  1. Problème Procédure avec On Key Update
    Par smiley95 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 24/04/2008, 01h52
  2. Syntaxe ON DUPLICATE KEY UPDATE
    Par JoN28fr dans le forum Requêtes
    Réponses: 7
    Dernier message: 27/02/2008, 09h32
  3. ON DUPLICATE KEY UPDATE et unicité sur 2 colonnes
    Par dja07 dans le forum SQL Procédural
    Réponses: 8
    Dernier message: 07/06/2007, 16h54
  4. Problème sur les virtual Key
    Par Moustico dans le forum Windows
    Réponses: 7
    Dernier message: 05/06/2007, 18h09
  5. INSERT ... ON DUPLICATE KEY UPDATE
    Par luffy san dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 17/10/2005, 17h29

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