为了账号安全,请及时绑定邮箱和手机立即绑定

如果在数据库(如 MySQL)中更新了任何数据,是否可以触发脚本或程序?

如果在数据库(如 MySQL)中更新了任何数据,是否可以触发脚本或程序?

白衣非少年 2021-09-11 13:21:17
它不必完全是数据库内的触发器。我只想知道我应该如何设计它,以便在 MySQL 或 SQL 服务器内部进行更改时,可以触发某些脚本。
查看完整描述

2 回答

?
繁星coding

TA贡献1797条经验 获得超4个赞

一种方法是在数据库中最后更新的行上保留一个计数器,然后您需要在短时间内通过 python 轮询(检查)数据库以获取新记录。
如果计数器中的值增加,那么您可以使用该subprocess模块调用另一个 Python 脚本。

查看完整回答
反对 回复 2021-09-11
?
杨__羊羊

TA贡献1943条经验 获得超7个赞

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


MySql 提供了一种实现您自己的函数的方法,它称为User Defined Functions。有了这个,您可以定义自己的函数并从 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;


查看完整回答
反对 回复 2021-09-11
  • 2 回答
  • 0 关注
  • 248 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号