Задача в следующем: при обновлении записи таблицы нужно создать триггер, который добавит в таблицу изменений пользователя, название таблицы, название поля, действие и время обновления.
Привожу код 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 запроса
ЗдравствуйтеСоздал БД, создал запрос, все корректно за исключением вывода
ЗдравствуйтеСкажите пожалуйста корректна ли будет строка