我希望我的「審計」觸發器更易於維護。 事實上,在更新前觸發器,邏輯如下:比較所有OLD和NEW更改的MySQL觸發器需要簡化
IF NEW.field <> OLD.field THEN INSERT INTO table SET field=OLD.field
我檢查更改每列,因爲我不想存儲它並沒有真正更新的行不。有許多受監視的列,當我更改表(添加或刪除列)時,我必須編輯觸發器以反映新的表結構。
有沒有經過這樣每個科拉姆去一個簡單的方法:
FOR EACH COL BEGIN IF NEW.COL <> OLD.COL THEN SET changedetected=true; END IF; END
而在此之後,使用for循環以同樣的方式來填充審計表與表的所有列?
我不知道我是否足夠清晰,如有需要請發表評論。
非常感謝您的幫助!