MySQL 是一种广泛使用的开源关系型数据库管理系统,支持 SQL 语言。MySQL 可以作为应用程序的后端数据库,用于存储、处理和分析数据。MySQL 触发器是一种可编程的数据库对象,可以自动触发 SQL 语句的执行。MySQL 触发器可以用于多种用途,包括数据验证、数据转换、自动化操作等。
在 MySQL 中,一个触发器可以与一个或多个表关联,当指定的事件发生时触发。MySQL 触发器可以在同一个数据库中或跨多个数据库之间使用。MySQL 触发器也可以用于删除数据。
CREATE TRIGGER `delete_user` BEFORE DELETE ON `db1`.`user`
FOR EACH ROW BEGIN
DELETE FROM `db2`.`order` WHERE `user_id` = OLD.`id`;
END
上述触发器会在删除 db1.user 表中的一行数据时,自动删除 db2.order 表中该行数据的相关记录。其中,OLD 是 MySQL 触发器的一个系统变量,表示触发器正处于执行 DELETE 语句的上下文中,而 NEW 则表示触发器正在执行 INSERT 或 UPDATE 语句的上下文中。
需要注意的是,MySQL 触发器跨库删除需要授予足够的权限。在使用 MySQL 触发器时,必须确保正确设置了数据库用户权限,以确保系统安全。