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

Hvordan indsætter jeg kun i en database, hvis en værdi er ændret?

Du kan inkludere en CASE-sætning i din opdateringsforespørgsel, som vil indstille datofeltet betinget, som sådan:

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

Denne forespørgsel "sætter" datefield til den samme værdi, som den allerede indeholder, hvis værdien af ​​textfield er ikke blevet ændret.



  1. Returner en liste over partitionsskemaer i SQL Server (T-SQL)

  2. COUNT i en forespørgsel med flere JOINS og en GRUPPE EFTER KLAUSUL

  3. Memcache - lagring af mysql-resultater

  4. Konverter decimaltid til timer og minutter