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 :

duplicate key on update ne fait que des insert


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 261
    Par défaut duplicate key on update ne fait que des insert
    Salut,

    J'essaie de faire ou un insert ou un update mais je n'ai que des insert,
    sachant que la clé est la colonne id, qu'elle sert d'index et s'auto incrémente, je ne vois pas ce qui cloche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    INSERT INTO email_stats (hits_nbr,email) 
    VALUES (?,?) on duplicate key update
    hits_nbr=values(hits_nbr), email=values(email) ;
    Si quelqu'un a une supposition, merci

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

    Informations forums :
    Inscription : Août 2008
    Messages : 2 953
    Par défaut
    ON DUPLICATE KEY est une version peu flexible de MERGE.
    Il faut que les lignes insérées violent la contrainte pour que la mise à jour se fasse...
    Il faut donc rajouter un index unique sur email ou sur le couple (hits_nbr,email).
    Si cette contrainte n'a pas de sens fonctionnel, il faut le faire en 2 requêtes...

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 261
    Par défaut
    Bien vu, merci

    J'ai mis un index sur email.

    Cette contrainte a un sens fonctionnel. Cela m'évite surtout de faire un if exists...
    Après lequel est le plus optimisé...

Discussions similaires

  1. INSERT .. ON DUPLICATE KEY UPDATE fait que des INSERT !
    Par umeboshi dans le forum Requêtes
    Réponses: 2
    Dernier message: 30/07/2008, 09h40
  2. 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
  3. on duplicate key avec un select au lieu d'update ?
    Par pony dans le forum Requêtes
    Réponses: 2
    Dernier message: 11/10/2006, 15h05
  4. 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