Ведение журнала изменений таблицы MySQL
Пример:
==this_table==
ID | Имя--| Фамилия | Подразделение | Компас Front | Компас FIMI
=================================================
23 | Иван | Пупкин---| ДИТ----------------| открыт---------| закрыт
UPDATE this_table SET podr=$podr, compasfront=$compasfront, compasfimi=$compasfimi
Если какое-то поле изменилось, то (в $change содержится название измененного поля)
INSERT INTO history (user_id, change) VALUES ($id, $change)
==history==
ID | USER_ID | CHANGE | TIME
=============================
1--| 23---------| podr----------| TIMESTAMP
Возможно есть менее безумный способ ведение журнала изменений?
Спасибо, понял как вносить дубликат кортежа в history, но как внести только то, что изменилось?
Сравнить OLD и NEW в триггере по всем полям и изменения занести в историю.
Цитата: Dexogen
Спасибо, понял как вносить дубликат кортежа в history, но как внести только то, что изменилось?
Перебрать все field_name на такую проверку
NEW.field_name<>OLD.field_name в теле триггера
http://forums.mysql.com/read.php?99,66193,66385#msg-66385