MySQL触发器(Triggers)是一种特殊的存储过程
,它会在指定的事件发生时自动执行
一系列SQL语句。触发器可以用于在数据库表上实现自动化的数据约束、审计、日志记录
等功能。下面详细说说MySQL触发器的语法以及使用用法。
1. 触发器类型
- BEFORE触发器:在触发事件之前执行。
- AFTER触发器:在触发事件之后执行。
2. 触发事件
- INSERT:在插入数据时触发。
- UPDATE:在更新数据时触发。
- DELETE:在删除数据时触发。
3. 触发器语法
CREATE TRIGGER triggerName
BEFORE INSERT ON tableName
FOR EACH ROW
BEGIN
-- 触发器执行的SQL语句
END;
上面语句表示创建一个在tableName插入行之前执行的触发器。
4. 详细使用代码
创建一个BEFORE INSERT触发器,在插入新员工时自动设置入职日期为当前日期。
DELIMITER //
CREATE TRIGGER set_hire_date
BEFORE INSERT ON employees
FOR EACH ROW
BEGIN
SET NEW.hire_date = CURDATE();
END;
//
DELIMITER ;
在我们日常开发中,通过使用触发器,可以实现对数据库表的自动化操作和约束,减少重复性工作,提高数据的一致性和完整性。