mysql中update触发器的编写
时间: 2023-10-17 07:10:21 浏览: 148
MySQL触发器 Update触发Insert失败
在 MySQL 中编写 update 触发器需要使用 `CREATE TRIGGER` 语句,语法如下:
```
CREATE TRIGGER trigger_name
BEFORE/AFTER UPDATE ON table_name
FOR EACH ROW
BEGIN
-- 触发器执行的操作
END;
```
其中,`trigger_name` 为触发器的名称,`table_name` 为要触发的表名,`BEFORE` 或 `AFTER` 表示触发时机,`FOR EACH ROW` 表示对每一行进行操作。
在 `BEGIN` 和 `END` 之间编写触发器执行的操作,可以使用 `OLD` 和 `NEW` 来访问被更新前和更新后的数据。例如:
```
CREATE TRIGGER update_trigger
AFTER UPDATE ON table_name
FOR EACH ROW
BEGIN
INSERT INTO log_table (old_value, new_value) VALUES (OLD.column_name, NEW.column_name);
END;
```
以上代码表示在 `table_name` 表中进行 update 操作时,将被更新前和更新后的数据记录到 `log_table` 表中。
需要注意的是,触发器代码应该尽量精简,否则会影响数据库的性能。同时,为了避免死循环,触发器中不能对当前操作的表进行更新、删除或插入操作。
阅读全文