首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果数据库中有任何数据更新,比如MySQL,是否可以触发脚本或程序?

问如果数据库中有任何数据更新,比如MySQL,是否可以触发脚本或程序?
EN

Stack Overflow用户
提问于 2018-12-08 09:12:12
回答 2查看 82关注 0票数 0

它不一定非得是数据库内部的触发器。我只想知道我应该如何设计它,以便当在MySQL或SQL server中进行更改时,一些脚本可以被触发。

EN

回答 2

Stack Overflow用户

发布于 2018-12-08 10:18:57

一种方法是在数据库中的最后更新的行上保留一个计数器,然后您需要在短时间间隔内通过python轮询(检查)数据库中的新记录。

如果计数器中的值增加了,那么您可以使用subprocess模块来调用另一个Python脚本。

票数 0
EN

Stack Overflow用户

发布于 2018-12-08 10:38:28

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

MySql提供了一种方法来实现您自己的函数,它被称为User Defined Functions。这样,您就可以定义自己的函数并从MySql事件中调用它们。您需要遵循MySql提供的接口,在C程序中编写自己的逻辑。

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

代码语言:javascript
复制
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;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53678628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档