您的位置:宽带测速网 > 网络知识 > MySql触发器update实例详情

MySql触发器update实例详情

2025-06-21 09:28来源:互联网 [ ]

MySQL触发器是一种在表上执行自动化操作的特殊类型存储过程。当指定的事件发生时,触发器会触发并执行定义的操作。

以下是一个MySQL触发器的UPDATE实例的详细说明:

假设有一个名为employees的表,包含以下列:

id:员工ID(主键)name:员工姓名salary:员工薪水old_salary:用于存储上次更新前的薪水

我们希望在更新员工薪水时,自动将旧薪水存储到old_salary列中。我们可以使用以下触发器实现:

CREATE TRIGGER update_salary_triggerBEFORE UPDATE ON employeesFOR EACH ROWBEGINSET NEW.old_salary = OLD.salary;END;

这个触发器被命名为update_salary_trigger,在employees表上的每次更新操作之前触发。BEFORE UPDATE关键字指定了触发器在更新操作之前触发。

FOR EACH ROW关键字指定了触发器为每行数据都执行一次。

BEGINEND之间是触发器的操作。在这个例子中,我们使用SET语句将旧薪水(即OLD.salary)赋值给NEW.old_salary,将更新前的薪水存储到old_salary列中。

使用这个触发器后,当执行以下UPDATE语句时:

UPDATE employeesSET salary = 5000WHERE id = 1;

触发器会在更新操作之前触发,将原始薪水(例如4000)存储到old_salary列中。

最终,employees表的更新后的数据如下:

| id | name| salary | old_salary ||----|-------|--------|------------|| 1| John| 5000 | 4000 || 2| Jane| 3000 | 3000 || 3| Alice | 2000 | 2000 |

这就是MySQL触发器UPDATE实例的详细说明。触发器可以用于执行各种自动化操作,以满足特定的业务需求。