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

NULL-håndtering i MySQL efter opdateringstrigger, der kun udløses ved dataændring

Du kan bruge coalesce() , som returnerer det første af dets argumenter, der er 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;

Det kan være svært at vælge det andet argument. Ovenstående eksempel fungerer for det almindelige tilfælde, når a, b og c er strenge, og når en tom strengværdi svarer til en null værdi.



  1. Hvordan får man det sidste felt i en Mysql-database med PHP?

  2. Forskelligt resultat i SQL violin og i MySQL server/PhpMyadmin

  3. Bestem, om to navne er tæt på hinanden

  4. Få et resultat ved at sammenligne to tabeller med en identisk kolonne