首页 > 解决方案 > 如果数据库(如 MySQL)中的任何数据更新,是否可以触发脚本或程序?

问题描述

它不必完全是数据库内的触发器。我只想知道我应该如何设计它,以便在 MySQL 或 SQL 服务器内部进行更改时,可以触发一些脚本。

标签: pythonmysqlsql-server

解决方案


可以从 MySql 触发器执行外部脚本,但我从未使用过它,也不知道这样的事情的含义。

MySql 提供了一种方法来实现你自己的函数,它被称为用户定义函数。有了这个,您可以定义自己的函数并从 MySql 事件中调用它们。您需要按照MySql提供的接口在C程序中编写自己的逻辑。

幸运的是,有人已经做了一个库来从 MySql 调用外部程序:LIB_MYSQLUDF_SYS。安装后,以下触发器应该可以工作:

CREATE TRIGGER Test_Trigger 
AFTER INSERT ON MyTable 
FOR EACH ROW 
BEGIN
   DECLARE cmd CHAR(255);
   DECLARE result int(10);
   SET cmd=CONCAT('/YOUR_SCRIPT');
   SET result = sys_exec(cmd);
END;

推荐阅读