mysql触发器语法详解大全

MySQL触发器是一种在数据库中自动执行的程序,通常是在数据表中引起数据变化(例如插入、更新或删除)时触发的。以下是MySQL触发器语法详解:

CREATE TRIGGER trigger_name
AFTER/BEFORE INSERT/UPDATE/DELETE ON table_name
FOR EACH ROW
BEGIN
-- 触发程序的代码写在这里
END;

mysql触发器语法详解大全

其中:

  • trigger_name:指定触发器的名称。
  • AFTER/BEFORE:指定触发器是在数据行插入、更新或删除之前还是之后调用。
  • INSERT/UPDATE/DELETE:指定触发器在哪个操作时被调用。
  • table_name:指定触发器被绑定到哪个表。
  • FOR EACH ROW:指定对于每行数据执行一次触发器。
  • BEGIN:触发器主体的开始标志。
  • END:触发器主体的结束标志。

以下是一个示例:

CREATE TRIGGER products_update
AFTER UPDATE ON products
FOR EACH ROW
BEGIN
INSERT INTO products_audit
SET action = 'update',
product_id = OLD.product_id,
updated_at = NOW();
END;

上面的示例在每次更新products表时触发。它将产品的更新记录插入到products_audit表中。

总而言之,MySQL触发器在数据库中起着至关重要的作用,帮助我们自动执行程序和跟踪数据库的变化。