mysql触发器怎么写
时间: 2023-12-31 19:55:00 浏览: 25
MySQL触发器可以在指定的表上自动执行一些操作,例如,当插入或更新数据时,可以自动更新另一个表中的数据。下面是一个简单的MySQL触发器的示例:
创建触发器:
```
CREATE TRIGGER trigger_name
AFTER INSERT ON table_name
FOR EACH ROW
BEGIN
-- 触发器操作
END
```
其中,`trigger_name`是触发器的名称,`table_name`是要触发的表的名称,`AFTER INSERT`表示当插入数据时触发触发器,`FOR EACH ROW`表示对于每一行数据都会执行一次触发器操作。
在`BEGIN`和`END`之间编写触发器操作,例如:
```
CREATE TRIGGER update_salary
AFTER INSERT ON employees
FOR EACH ROW
BEGIN
UPDATE departments SET total_salary = total_salary + NEW.salary WHERE dept_id = NEW.dept_id;
END
```
这个触发器在`employees`表中插入数据时触发,每次插入一行数据时,都会将该行数据的`salary`值加到`departments`表中与`dept_id`相同的行的`total_salary`值上。
需要注意的是,触发器的操作必须以`BEGIN`和`END`包围,并且每个语句必须以分号结尾。在触发器中,可以使用`OLD`和`NEW`关键字来引用旧的和新的数据行。`OLD`表示之前的数据行,`NEW`表示当前插入或更新的数据行。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)