INSERT ON DUPLICATE KEY UPDATE

INSERT … ON DUPLICATE KEY UPDATE est une manière très puissante/rapide mais souvent oubliée dans MySQL.

Elle a été introduite en MySQL 4.1, mais constamment les développeurs l’ignorent encore !

Personnellement j’aime cette fonctionnalité surtout qu’elle est conçue dans un style très MySQL – cette solution est très efficace pour les tâches fréquents d’ajout et de mise à jour.
Voici un exemple :

CREATE TABLE ipstat(
   ip VARCHAR(100) NOT NULL PRIMARY KEY, 
   hits int UNSIGNED NOT NULL, 
   last_hit timestamp);

INSERT INTO ipstat VALUES('192.168.0.1',1,now()) 
     ON duplicate KEY UPDATE hits=hits+1 ;

Leave a Reply