Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como faço para inserir em um banco de dados somente se um valor foi alterado?


Você pode incluir uma instrução CASE em sua consulta de atualização que definirá o campo de data condicionalmente, assim:
UPDATE MyTable
SET textfield = @newValue,
datefield = (CASE WHEN textfield <> @newValue THEN NOW() ELSE datefield END);

Esta consulta "define" o datefield para o mesmo valor que já contém se o valor de textfield não foi alterado.