Spróbuj użyć INSERT ... ON DUPLICATE KEY UPDATE
Jeśli określisz ON DUPLICATE KEY UPDATE i zostanie wstawiony wiersz, który spowodowałby zduplikowaną wartość w indeksie UNIQUE lub PRIMARY KEY, MySQL wykona UPDATE starego wiersza.
Na przykład, jeśli kolumna a jest zadeklarowana jako UNIQUE i zawiera wartość 1, następujące dwa stwierdzenia mają podobny skutek:
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;
(Efekty nie są identyczne dla tabeli, w której a jest kolumną z automatycznym zwiększaniem. W przypadku kolumny z automatycznym zwiększaniem, INSERT
instrukcja zwiększa wartość automatycznego przyrostu, ale UPDATE
nie.)
Klauzula ON DUPLICATE KEY UPDATE może zawierać przypisania wielu kolumn oddzielonych przecinkami.
Z ON DUPLICATE KEY UPDATE wartość wierszy, których dotyczy problem, wynosi 1, jeśli wiersz jest wstawiany jako nowy wiersz, i 2, jeśli istniejący wiersz jest aktualizowany.
Mam nadzieję, że to pomoże.