Mysql UDF触发器不工作

Mysql UDF触发器不工作,mysql,triggers,udf,Mysql,Triggers,Udf,讽刺的是,问题是我没有犯任何错误。触发器如下所示: DELIMITER @@ CREATE TRIGGER autohome1 AFTER INSERT ON prueba FOR EACH ROW BEGIN DECLARE cmd VARCHAR(255); DECLARE result int(10); SET cmd=CONCAT('sh /home/pi/Desktop/Py_Script_Auto_Home/autohome.sh'); SET result = sys_

讽刺的是,问题是我没有犯任何错误。触发器如下所示:

DELIMITER @@
CREATE TRIGGER autohome1 
AFTER INSERT ON prueba
FOR EACH ROW 
BEGIN
 DECLARE cmd VARCHAR(255);
 DECLARE result int(10);
 SET cmd=CONCAT('sh /home/pi/Desktop/Py_Script_Auto_Home/autohome.sh');
 SET result = sys_exec(cmd);
END;
@@
DELIMITER ;
如果我没有错(我对这个主题不太了解),每当我插入名为“prueba”的表时,都应该执行命令。或者至少这是我理解这应该做的,然而这并没有发生。我不清楚“SET result=sys_exec(cmd);”行的功能


我知道我要执行的命令有效,所以我不知道从哪里开始解决问题。

尝试将cmd更改为简单的“touch/tmp/hello.txt”,看看脚本是否在执行任何操作。因此,我尝试了“touch”命令,结果成功了。但是,当我从命令行尝试我的命令时,它也可以工作,所以我不知道为什么它在触发器中不工作。谢谢OK-如果您检查它创建的文件的所有者,请确保该用户有权访问您尝试运行的脚本。因此,我检查了,创建它的用户是“mysql”。之后我做了“chown mysql:/home/pi/Desktop/Py_Script\u Auto_home/autohome.sh”,然后是“chmod u+x/home/pi/Desktop/Py_Script\u Auto_home/autohome.sh”。但它仍然不工作…它可能是对目录的访问,您可以将脚本移动到/tmp并查看它是否从那里运行。