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

¿Cómo inserto en una base de datos solo si un valor ha cambiado?

Puede incluir una instrucción CASE en su consulta de actualización que establecerá el campo de fecha de forma condicional, así:

UPDATE MyTable
SET textfield = @newValue,
datefield = (CASE WHEN textfield <> @newValue THEN NOW() ELSE datefield END);

Esta consulta "establece" el datefield al mismo valor que ya contiene si el valor de textfield no se ha cambiado.