Mysql
 sql >> Database >  >> RDS >> Mysql

Come inserisco in un database solo se un valore è cambiato?

Puoi includere un'istruzione CASE nella tua query di aggiornamento che imposterà il campo della data in modo condizionale, in questo modo:

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

Questa query "imposta" il datefield allo stesso valore che contiene già se il valore di textfield non è stato modificato.