Задача в следующем: при обновлении записи таблицы нужно создать триггер, который добавит в таблицу изменений пользователя, название таблицы, название поля, действие и время обновления.
Привожу код SQL-запроса на создание триггера:
DELIMITER $$
CREATE TRIGGER upd_check
AFTER UPDATE ON xyz_clients FOR EACH ROW
BEGIN
INSERT INTO xyz_changes(user, table_name, record, action, date)
VALUES(CURRENT_USER, ???, ???, 'update', CURRENT_DATE);
END
Нужно как-то получить название обновленной страницы и записи. Заранее благодарен за помощь.
Т.к. в MySQL один триггер можно прицепить только к одной таблице, то ее название Вы знаете - это xyz_clients
С названием изменившегося поля немного сложнее. Вам нужно проверить изменилось ли данное конкретное поле
CREATE TRIGGER upd_check
AFTER UPDATE ON xyz_clients FOR EACH ROW
BEGIN
IF (NOT OLD.field1 <=> NEW.field1) THEN
INSERT INTO xyz_changes(user, table_name, record, action, date)
VALUES(CURRENT_USER, 'xyz_clients', 'field1', 'update', CURRENT_DATE);
END IF;
IF (NOT OLD.field2 <=> NEW.field2) THEN
INSERT INTO xyz_changes(user, table_name, record, action, date)
VALUES(CURRENT_USER, 'xyz_clients', 'field2', 'update', CURRENT_DATE);
END IF;
..................
IF (NOT OLD.fieldN <=> NEW.fieldN) THEN
INSERT INTO xyz_changes(user, table_name, record, action, date)
VALUES(CURRENT_USER, 'xyz_clients', 'fieldN', 'update', CURRENT_DATE);
END IF;
END
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
ЗдравствуйтеВопрос сформулирован в заголовке
Здравствуйте, пытаюсь сделать загрузку музыки на сервер, путём POST запроса
ЗдравствуйтеСоздал БД, создал запрос, все корректно за исключением вывода
ЗдравствуйтеСкажите пожалуйста корректна ли будет строка