Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment insérer dans une base de données uniquement si une valeur a changé ?

Vous pouvez inclure une instruction CASE dans votre requête de mise à jour qui définira le champ de date de manière conditionnelle, comme ceci :

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

Cette requête "définit" le datefield à la même valeur qu'il contient déjà si la valeur de textfield n'a pas été modifié.