在Database事件上运行python脚本

时间:2014-04-30 07:49:38

标签: python mysql database events

我正在运行一个在特定数据库中进行修改的python脚本。 我想在我的数据库(本地服务器)中进行修改后运行第二个脚本。

有没有这样做?

非常感谢任何帮助。 谢谢!

2 个答案:

答案 0 :(得分:7)

感谢您的回答,我在这里找到了解决方案:

http://crazytechthoughts.blogspot.fr/2011/12/call-external-program-from-mysql.html

必须定义触发器,以便在修改数据库表后调用外部函数:

DELIMITER $
CREATE TRIGGER Test_Trigger
AFTER INSERT ON SFCRoutingTable
FOR EACH ROW
BEGIN
DECLARE cmd CHAR(255);
DECLARE result int(10);
SET cmd = CONCAT('python /home/triggers.py');
SET result = sys_exec(cmd);
END;
$
DELIMITER ;

这里,为了调用我的python脚本,我使用'sys_exec'这是一个UDF(用户定义函数)。您可以从此处下载该库:https://github.com/mysqludf/lib_mysqludf_sys

答案 1 :(得分:2)

您可以在数据库中使用“存储过程”,许多RDBMS引擎都支持一种或多种编程语言。 AFAIK postgresql支持信号调用外部进程。谷歌类似'用于PostgreSQL的Python存储过程'或'postgresql触发器调用外部程序'