on duplicate key

Invité
Invité n'ayant pas de compte PHPfrance

22 oct. 2008, 16:59

Bonjour à tous,

J'ai une requete qui est à la base comme ceci

Code : Tout sélectionner

INSERT INTO table (a,b,c) VALUES (1,2,3),(4,5,6),(7,8,9),(10,11,12)
Je souhaite ajouter une clause ON DUPLICATE KEY. Pour un seul enregistrement c'est facile, ça donne:

Code : Tout sélectionner

INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE a = 1, b = 2, c = 3
Ma question: comment faire un écrire un on duplicate key pour plusieurs enregitrements, avec une seule requete, sans utiliser de boucle php?

Merci pour vos réponses.

Invité
Invité n'ayant pas de compte PHPfrance

24 oct. 2008, 10:11

il suffit en fait de faire:

Code : Tout sélectionner

INSERT INTO table (a,b,c) VALUES (1,2,3),(4,5,6),(7,8,9) ON DUPLICATE KEY UPDATE a = VALUES(a), b = VALUES(b), c = VALUES(c)
Je suis surpris que les volontaires chevronnés de php france n'aie pas pu apporté la réponse à cette question...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

24 oct. 2008, 11:12

Je suis surpris que les volontaires chevronnés de php france n'aie pas pu apporté la réponse à cette question...
Je suis supris que les invités débarquant n'imaginent pas que les "volontaires chevronnées" ne passent pas leur vie sur PHPFrance ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Invité
Invité n'ayant pas de compte PHPfrance

24 oct. 2008, 12:03

c'est vrai, tu as raison. C'est juste que vous faites un travail tellement formidable ici (réponses complètes, rapides, efficaces, régulières) qu'on en oublie de rester poli quand on a pas de réponse, parcequ'on se sent stupide et ignoré. j'y penserai pou mes prochains post.