触发器用法
1. 什么是触发器
触发器(Trigger)是绑定在表上的特殊存储程序,当对表进行 INSERT、UPDATE 或 DELETE 操作时自动执行,用于实现自动化业务逻辑和数据校验。
2. 触发器的分类
- BEFORE 触发器:在数据操作之前执行,可用于验证或修改数据。
- AFTER 触发器:在数据操作之后执行,常用于日志记录或联动操作。
3. 创建触发器语法
CREATE TRIGGER trigger_name
{BEFORE | AFTER} {INSERT | UPDATE | DELETE}
ON table_name FOR EACH ROW
BEGIN
-- 触发器逻辑
END;
`
4. 示例:在插入数据前自动设置时间戳
CREATE TRIGGER before_insert_orders
BEFORE INSERT ON orders
FOR EACH ROW
BEGIN
SET NEW.created_at = NOW();
END;
5. 示例:在删除用户时同步删除相关订单
CREATE TRIGGER after_delete_users
AFTER DELETE ON users
FOR EACH ROW
BEGIN
DELETE FROM orders WHERE user_id = OLD.id;
END;
6. 触发器中的 NEW 和 OLD
- NEW:表示插入或更新时的新数据行(BEFORE 和 AFTER INSERT/UPDATE 中使用)。
- OLD:表示删除或更新前的旧数据行(BEFORE 和 AFTER DELETE/UPDATE 中使用)。
触发器可以实现自动化的数据处理和业务规则,保障数据一致性和完整性。
相关内容
- mariabackup 工具 本节介绍 MariaDB 官方的物理备份工具 mariabackup,包括安装、使用方法和常用参数,帮助实现高效的数据库备份和恢复。
- mysqldump 使用 本节介绍使用 mysqldump 工具备份和恢复 MariaDB 数据库,包括导出数据库、表和数据的常用命令及参数示例。
- 性能监控与配置 本节介绍 MariaDB 性能监控与配置方法,涵盖性能指标监测、参数调优及工具使用,帮助提升数据库稳定性和响应速度。
- 慢查询日志 本节介绍 MariaDB 慢查询日志的配置与使用方法,通过记录执行时间较长的 SQL 语句,帮助定位性能瓶颈,优化数据库查询效率。
- 常规恢复 本节介绍 MariaDB 常规恢复方法,包含从 mysqldump 和 mariabackup 备份文件中恢复数据库的步骤,确保数据安全快速恢复。
- PITR 时间点恢复 本节讲解 MariaDB 利用二进制日志实现时间点恢复(PITR),通过恢复备份及应用日志,精确恢复到指定时间点。