Опитайте да използвате INSERT ... ON DUPLICATE KEY UPDATE
Ако посочите ON DUPLICATE KEY UPDATE и се вмъкне ред, който би причинил дублирана стойност в UNIQUE индекс или PRIMARY KEY, MySQL извършва UPDATE на стария ред.
Например, ако колона a е декларирана като УНИКАЛНА и съдържа стойност 1, следните два израза имат подобен ефект:
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;
(Ефектите не са идентични за таблица, където a е колона с автоматично нарастване. С колона с автоматично нарастване, INSERT
изразът увеличава стойността на автоматично нарастване, но UPDATE
не.)
Клаузата ON DUPLICATE KEY UPDATE може да съдържа множество присвоявания на колони, разделени със запетаи.
С ON DUPLICATE KEY UPDATE стойността на засегнатите редове на ред е 1, ако редът е вмъкнат като нов ред, и 2, ако съществуващ ред е актуализиран.
Надявам се това да помогне.