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 ;