CREATE TABLE operation_log (
id INT AUTO_INCREMENT PRIMARY KEY,
action_type VARCHAR(20),
table_name VARCHAR(50),
old_data TEXT,
new_data TEXT,
user VARCHAR(50),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
创建触发器:
例如,记录 users 表的所有 INSERT 操作:
DELIMITER //
CREATE TRIGGER after_user_insert
AFTER INSERT ON users
FOR EACH ROW
BEGIN
INSERT INTO operation_log (action_type, table_name, new_data, user)
VALUES ('INSERT', 'users', CONCAT('id: ', NEW.id, ', name: ', NEW.name), USER());
END //
DELIMITER ;