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

Gestione NULL in MySQL dopo il trigger di aggiornamento che si attiva solo in caso di modifica dei dati

Potresti usare coalesce() , che restituisce il primo dei suoi argomenti che è not null .

if coalesce(old.a,'') <> coalesce(new.a,'') or
   coalesce(old.b,'') <> coalesce(new.b,'') or
   coalesce(old.c,'') <> coalesce(new.c,'')
   then
     insert ...;
   end if;

Può essere difficile scegliere il secondo argomento. L'esempio sopra funziona per il caso comune in cui a, b e c sono stringhe e quando un valore di stringa vuoto equivale a un null valore.