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 ;