Ich habe einen Trigger geschrieben, der jede Datenaktualisierung protokolliert und previous_value, new_value, field_name
und viele mehr protokolliert. Aber das Problem ist, ich habe 77 Felder in meiner Tabelle. So, es ist schwierig, IF ENDIF
für jedes Feld zu schreiben, also möchte ich wissen, ist es möglich, mit Schleife zu schreiben?Willst du einen Trigger nach UPDATE schreiben
Bereits in dba.stackexchange.com gefragt, aber bekam keine Antwort noch fruchtbare, Link unten ::
Ich habe bisher versucht ::
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
Bitte helfen oder jeder Vorschlag wird sehr hilfreich sein.
Vielen Dank im Voraus.
nicht innerhalb mysql landen sollte. Ich würde den Inhalt von information_schema.columns in Excel ablegen und den Code dort erstellen. –