Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie füge ich nur dann in eine Datenbank ein, wenn sich ein Wert geändert hat?

Sie können eine CASE-Anweisung in Ihre Aktualisierungsabfrage einfügen, die das Datumsfeld bedingt setzt, etwa so:

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

Diese Abfrage "setzt" das datefield auf denselben Wert, den es bereits enthält, wenn der Wert von textfield wurde nicht geändert.