我寫了一個觸發器,它會記錄每個數據更新,並且會記錄previous_value, new_value, field_name
等等。但問題是我在我的表中有77字段。所以,很難爲每個字段編寫IF ENDIF
,所以我想知道是否有可能使用循環編寫?想要在更新後寫一個觸發器
已要求在dba.stackexchange.com但沒有得到任何FRUITFULL答案,以下鏈接::
到目前爲止我試過::
BEGIN
IF(OLD.company_name != NEW.company_name) THEN
INSERT INTO elm_activity_log (user_id, action_on, action, action_col, action_old_value, action_new_value, action_at, action_on_id) VALUES (NEW.updated_by, "company", "update", "company_name", OLD.company_name, NEW.company_name, CURRENT_TIMESTAMP(), NEW.company_id);
END IF;
IF(OLD.company_first_name != NEW.company_first_name) THEN
INSERT INTO elm_activity_log (user_id, action_on, action, action_col, action_old_value, action_new_value, action_at, action_on_id) VALUES (NEW.updated_by, "company", "update", "company_first_name", OLD.company_first_name, NEW.company_first_name, CURRENT_TIMESTAMP(), NEW.company_id);
END IF;
END
請幫助,或者任何建議都會非常有幫助。
在此先感謝。
不是MySQL的範圍內。我會將information_schema.columns的內容轉儲到excel中並在那裏構建代碼。 –