sql >> Databáze >  >> RDS >> Mysql

Zpracování NULL v MySQL po aktualizaci Spouštěč, který se spustí pouze při změně dat

Můžete použít coalesce() , který vrací první ze svých argumentů, který je 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;

Zvolit druhý argument může být složité. Výše uvedený příklad funguje pro běžný případ, kdy a, b a c jsou řetězce a když hodnota prázdného řetězce je ekvivalentní null hodnotu.



  1. SQL Server - najít n-tý výskyt v řetězci

  2. Závažná chyba při volání funkce uložené v MySQL z PHP pomocí MySQLi

  3. Odhad mohutnosti pro více predikátů

  4. MySQL:Optimalizace GROUP BY více klíčů