Essayez d'utiliser INSERT ... ON DUPLICATE KEY UPDATE
Si vous spécifiez ON DUPLICATE KEY UPDATE et qu'une ligne est insérée, ce qui entraînerait une valeur en double dans un index UNIQUE ou PRIMARY KEY, MySQL effectue une mise à jour de l'ancienne ligne.
Par exemple, si la colonne a est déclarée UNIQUE et contient la valeur 1, les deux instructions suivantes ont un effet similaire :
INSERT INTO table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=c+1;
UPDATE table SET c=c+1 WHERE a=1;
(Les effets ne sont pas identiques pour une table où a est une colonne auto-incrémentée. Avec une colonne auto-incrémentée, un INSERT
l'instruction augmente la valeur d'auto-incrémentation mais UPDATE
pas.)
La clause ON DUPLICATE KEY UPDATE peut contenir plusieurs affectations de colonnes, séparées par des virgules.
Avec ON DUPLICATE KEY UPDATE, la valeur des lignes affectées par ligne est 1 si la ligne est insérée en tant que nouvelle ligne et 2 si une ligne existante est mise à jour.
J'espère que cela vous aidera.