-- 1. Создаём таблицу для хранения удалённых записей
CREATE TABLE Лог_удалений (
id INT PRIMARY KEY AUTO_INCREMENT,
таблица VARCHAR(50),
id_записи INT,
данные JSON,
дата_удаления TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
пользователь VARCHAR(50)
);
-- 2. Триггер для таблицы Материалы
DELIMITER $$
CREATE TRIGGER log_delete_Материалы
AFTER DELETE ON Материалы
FOR EACH ROW
BEGIN
INSERT INTO Лог_удалений (таблица, id_записи, данные, пользователь)
VALUES ('Материалы', OLD.id,
JSON_OBJECT('название', OLD.название, 'цена', OLD.цена),
CURRENT_USER());
END$$
-- 3. Триггер для таблицы Изделия
CREATE TRIGGER log_delete_Изделия
AFTER DELETE ON Изделия
FOR EACH ROW
BEGIN
INSERT INTO Лог_удалений (таблица, id_записи, данные, пользователь)
VALUES ('Изделия', OLD.id,
JSON_OBJECT('название', OLD.название, 'тип', OLD.тип),
CURRENT_USER());
END$$
-- 4. Триггер для таблицы Заказы
CREATE TRIGGER log_delete_Заказы
AFTER DELETE ON Заказы
FOR EACH ROW
BEGIN
INSERT INTO Лог_удалений (таблица, id_записи, данные, пользователь)
VALUES ('Заказы', OLD.id,
JSON_OBJECT('номер', OLD.номер, 'дата', OLD.дата, 'статус', OLD.статус),
CURRENT_USER());
END$$
DELIMITER ;