mysql 触发器编写
时间: 2023-06-28 16:13:08 浏览: 152
sql 触发器的写法
MySQL 触发器是一种特殊的存储过程,它们在特定的表上自动执行。当特定事件(如插入、更新或删除)发生时,触发器会触发并执行一系列定义好的操作。下面是一个简单的 MySQL 触发器的编写示例:
假设我们有一个名为 `customers` 的表,其中包含 `id`、`name` 和 `age` 三个字段。我们想要在每次向表中插入新记录时,自动将 `age` 字段的值设置为 18。可以使用以下代码编写一个简单的触发器:
```sql
CREATE TRIGGER set_default_age
BEFORE INSERT ON customers
FOR EACH ROW
SET NEW.age = 18;
```
这个触发器的含义是:每次在 `customers` 表中插入一条记录之前,将该记录的 `age` 字段设置为 18。
在上面的代码中,`set_default_age` 是触发器的名称,`BEFORE INSERT` 指定了触发器的时机,即在插入记录之前触发;`customers` 是触发器所在的表名;`FOR EACH ROW` 意味着该触发器将针对每一行进行操作;`SET NEW.age = 18` 是触发器实际执行的操作,将 `age` 字段的值设置为 18。
除了 `BEFORE INSERT`,MySQL 触发器还支持其他时机,如 `AFTER INSERT`、`BEFORE UPDATE`、`AFTER UPDATE`、`BEFORE DELETE` 和 `AFTER DELETE`。在编写触发器时,需要根据具体需求选择适当的时机。
需要注意的是,MySQL 触发器只能在支持触发器的 MySQL 版本上使用。若要使用触发器,请确保您的 MySQL 版本支持该功能。
阅读全文