Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
调用python代码的Mariadb触发器_Python_Python 2.7_Mariadb_Database Trigger - Fatal编程技术网

调用python代码的Mariadb触发器

调用python代码的Mariadb触发器,python,python-2.7,mariadb,database-trigger,Python,Python 2.7,Mariadb,Database Trigger,我有一个在更新数据库表时要执行的python代码。如何为相同的程序编写Mariadb触发器?默认情况下,Mariadb不支持执行外部程序 作为一种解决方法,您可以调用执行python解释器的udf(用户定义函数)。lib_mysqludf_sys from可能是最适合的自定义项 因此,您的触发器定义可能如下所示 CREATE TRIGGER my_trigger BEFORE UPDATE ON my_tbl .... SET RC= sys_exec('/usr/bin/python

我有一个在更新数据库表时要执行的python代码。如何为相同的程序编写Mariadb触发器?

默认情况下,Mariadb不支持执行外部程序

作为一种解决方法,您可以调用执行python解释器的udf(用户定义函数)。lib_mysqludf_sys from可能是最适合的自定义项

因此,您的触发器定义可能如下所示

CREATE TRIGGER my_trigger BEFORE UPDATE ON my_tbl
  ....
  SET RC= sys_exec('/usr/bin/python my_script.py');
  ....

默认情况下,MariaDB不支持执行外部程序

作为一种解决方法,您可以调用执行python解释器的udf(用户定义函数)。lib_mysqludf_sys from可能是最适合的自定义项

因此,您的触发器定义可能如下所示

CREATE TRIGGER my_trigger BEFORE UPDATE ON my_tbl
  ....
  SET RC= sys_exec('/usr/bin/python my_script.py');
  ....

我试过了。我现在正在用软呢帽24。无法在此处安装mysqludf。我得到的错误是“您需要安装libmysqlclient开发软件”。然而,我正在使用mariadb。因此,相应的包是mariadb devel,它已经安装了.git clone-此repo中的共享对象不依赖于libmysqlclient。我使用了相同的repo。在install.sh文件中,代码如下:if test$-ne0;然后echo“错误:您需要安装libmysqlclient开发软件“echo”才能编译此UDF,在Debian/Ubuntu上只需运行:“echo”apt get install libmysqlclient15 dev“exit 1”就可以了。我现在正在用软呢帽24。无法在此处安装mysqludf。我得到的错误是“您需要安装libmysqlclient开发软件”。然而,我正在使用mariadb。因此,相应的包是mariadb devel,它已经安装了.git clone-此repo中的共享对象不依赖于libmysqlclient。我使用了相同的repo。在install.sh文件中,代码如下:if test$-ne0;然后echo“错误:您需要安装libmysqlclient开发软件”echo才能编译此UDF,在Debian/Ubuntu上运行:“echo”apt get install libmysqlclient15 dev“退出1