sql >> Base de Datos >  >> RDS >> Mysql

Manejo NULL en MySQL después del desencadenador de actualización que se activa solo en el cambio de datos

Podrías usar coalesce() , que devuelve el primero de sus argumentos que es 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;

Puede ser complicado elegir el segundo argumento. El ejemplo anterior funciona para el caso común cuando a, b y c son cadenas y cuando un valor de cadena vacío es equivalente a un null valor.