sql >> Base de Datos >  >> RDS >> Mysql

Agregar a un campo de base de datos en lugar de sobrescribirlo (función ACTUALIZAR de MySQL)

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.