php中文网

mysql创建触发器的语法

php中文网
mysql 触发器的语法:create trigger [触发器名]before/after [insert/update/delete] on [表名]for each row[触发器主体]

mysql创建触发器的语法

MySQL 触发器的语法

触发器是一种数据库对象,用于在插入、更新或删除表中的记录时自动执行特定操作。MySQL 中触发器的语法如下:

CREATE TRIGGER [触发器名]
BEFORE/AFTER [INSERT/UPDATE/DELETE] ON [表名]
FOR EACH ROW
[触发器主体]

语法参数解释:

  • 触发器名:为触发器指定一个名称。
  • 时机:指定触发器在操作发生前(BEFORE)或后(AFTER)执行。
  • 事件:指定触发器在哪些操作(INSERT/UPDATE/DELETE)上触发。
  • 表名:指定要为其创建触发器的表。
  • 触发器主体:触发器执行的动作,包括 SQL 语句和控制流语句。
  • FOR EACH ROW:指定触发器对每个受影响的行执行一次。

示例:

以下触发器示例会在向 customers 表中插入新记录时更新 last_updated 列:

CREATE TRIGGER update_last_updated
BEFORE INSERT ON customers
FOR EACH ROW
SET last_updated = NOW();

详细内容:

  • 触发器时机:触发器可以在操作之前(BEFORE)或之后(AFTER)执行。
  • 触发器事件:触发器可以在 INSERT、UPDATE 或 DELETE 操作上触发。
  • 触发器主体:触发器主体可以包含以下内容:

    • SQL 语句(例如,更新、插入或删除其他表中的记录)。
    • 控制流语句(例如,IF-ELSE、CASE 等)。
    • 使用 OLD 和 NEW 关键字访问触发操作前后的记录值。
  • 限制:触发器不能引用同一表中的其他触发器。

通过创建触发器,可以自动化数据库中的任务,减少重复操作并确保数据完整性。

以上就是mysql创建触发器的语法的详细内容,更多请关注php中文网其它相关文章!