Intente usar INSERT ... ON DUPLICATE KEY UPDATE
Si especifica EN ACTUALIZACIÓN DE CLAVE DUPLICADA y se inserta una fila que causaría un valor duplicado en un índice ÚNICO o CLAVE PRINCIPAL, MySQL realiza una ACTUALIZACIÓN de la fila anterior.
Por ejemplo, si la columna a se declara como ÚNICA y contiene el valor 1, las siguientes dos declaraciones tienen un efecto similar:
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;
(Los efectos no son idénticos para una tabla donde a es una columna de incremento automático. Con una columna de incremento automático, un INSERT
declaración aumenta el valor de incremento automático pero UPDATE
no.)
La cláusula ON DUPLICATE KEY UPDATE puede contener múltiples asignaciones de columnas, separadas por comas.
Con ON DUPLICATE KEY UPDATE, el valor de las filas afectadas por fila es 1 si la fila se inserta como una fila nueva y 2 si se actualiza una fila existente.
Espero que esto ayude.