sql >> Database >  >> RDS >> Mysql

NULL-verwerking in MySQL na update-trigger die alleen wordt geactiveerd bij gegevenswijziging

Je zou coalesce() . kunnen gebruiken , die de eerste van zijn argumenten retourneert die not null . is .

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;

Het kan lastig zijn om het tweede argument te kiezen. Het bovenstaande voorbeeld werkt voor het algemene geval wanneer a, b en c strings zijn en wanneer een lege stringwaarde gelijk is aan een null waarde.



  1. Krijg het op één na hoogste salaris voor elke persoon in mysql

  2. MySQL-fout - U heeft een fout in uw SQL-syntaxis

  3. array voor meerdere where_in voorwaarde in codeigniter

  4. Alle corresponderende velden selecteren met MAX en GROUP BY