Wenn man loggen will, wer wann und welche Änderungen an einer Tabelle „tabelle1“ gemacht hat, sollte man sich eine Tabelle namens „tabelle1_history“ und automatisch per MySQL Trigger auf Update und Delete Ereignisse reagieren:
Hinweis: __XYZ__ Platzhalter sind zu ersetzen
Trigger auf Update Aktionen
CREATE DEFINER=`__USER__`@`%` TRIGGER `__DB__`.`__TRIGGER_NAME_DEL__` BEFORE DELETE ON `__DB__`.`__TABLE__` FOR EACH ROW BEGIN insert into __DB__.__TABLE_HISTORY__ ( dataset_id, my_data1 my_data2 created_on created_by ) VALUES ( OLD.id, OLD.my_data1 OLD.my_data2 OLD.created_on, OLD.created_by );
Trigger auf Delete Aktionen
CREATE DEFINER=`__USER__`@`%` TRIGGER `__DB__`.`__TRIGGER_NAME_UPDATE__` BEFORE UPDATE ON `__DB__`.`__TABLE__` FOR EACH ROW BEGIN insert into __DB__.__TABLE_HISTORY__ ( dataset_id, my_data1 my_data2 created_on created_by ) VALUES ( OLD.id, OLD.my_data1 OLD.my_data2 OLD.created_on, OLD.created_by );