- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
MySQL版本:5.1.73数据库客户端版本:libmysql - 5.1.73
我试图检查 NEW.src 在过去一小时内是否存在,如果不存在则执行 sys_exec udf。
我在 mysql 中有以下触发器。由于这是插入后触发器,我的 IF 条件将检查过去一小时内是否只有一个值,然后继续执行 sys_exec 语句。
BEGIN
SET @numofcalls = (SELECT count(src) FROM `cdr` WHERE calldate >= DATE_SUB(NOW(),INTERVAL 1 HOUR) AND src = NEW.src);
IF (numofcalls = 1) then
SET @missed_call = sys_exec(CONCAT('/usr/bin/php /var/lib/asterisk/agi-bin/api_pbx/call_api.php ', NEW.src));
END IF;
END
保存触发器时没有出现语法错误。当插入新记录时,sys_exec 语句似乎没有运行并从 IF 条件退出。
有人可以建议我在这里做错了什么吗?
最佳答案
我建议您不要从 MySQL 触发器执行 php 程序。
原因:
相反,我建议您不要使用触发器,而是插入数据并提交事务,然后使用应用程序代码检查是否应该运行调用,然后从应用程序执行它。换句话说,不要执行对数据库外部有影响的代码。
关于MySQL触发器在插入后检查是否没有重复然后运行sys_exec udf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46397889/
我正在使用 MySQL UDF 函数 sys_exec 在 MySQL 触发器中调用 Java 程序。您能否提供有关我如何将参数传递给 sys_exec 以便它调用 Java 程序的信息? 最佳答案
我有一个触发器调用带有参数的存储过程,该参数调用 SET result = sys_exec(cmd);。但它给出了错误“函数 sys_exec 不存在”。 我不知道该怎么办,周二我有演示文稿,由于这
问题:如何使用 sys_exec() 终止进程。 我正在尝试使用 sys_exec() 执行 shell 脚本。 我的 shell 脚本包含 killall process_name 当我执行上面的脚
我正在使用 godaddy 共享主机并尝试调用放置在同一服务器上的 PHP 来完成此操作我已经为相应的表创建了一个触发器,下面是代码 DELIMITER @@ CREATE TRIGGER my_tr
我在/usr/esercizi/上的 python 是: #!/usr/bin/python import datetime now = datetime.datetime.now() aa = no
我正在尝试触发 Laravel 控制台 PHP 命令以将每个插入的行推送到我的客户端 UI,但是在安装 lib_mysqludf_sys 之后该过程似乎不起作用。 sys_exec()/sys_eva
问题:我有一个包含某些记录的表。插入完成后,我想通过 MySQL 的 sys_* UDF 调用外部程序(php 脚本)。现在,问题 - 我已经将记录的 ID 传递给脚本的触发器。当我尝试通过脚本提取数
我已经在我的小型测试服务器上运行了 Windows 上的 sys_exec,并确认我可以通过运行 SELECT sys_exec('dir > c:\\tst\\out.txt') FROM dual
我正在尝试从 MariaDB 服务器运行 python 脚本。我已经为此安装了 mysqludf 库。我尝试使用 sys_exec 函数运行脚本,但没有结果。我创建了测试文件,它只是一个包含信息“完成
在 tbl_produk 上插入后,我在 mysql triger 中使用这个脚本 FOR EACH ROW BEGIN DECLARE cmd CHAR(255); DECLARE result I
我正在使用 phpmyadmin。我在 mysql 中使用触发器,它在表中插入内容后调用 php 脚本。我的触发器包含这个。 DECLARE result INT; SET result=(selec
我需要从触发器调用外部脚本来拦截数据库中的每个插入。这是因为我无法轮询该值,所以我正在为具有 ARM 架构且只有 250MB RAM 的嵌入式系统编写代码。触发器是正确的选项,并且触发器的代码运行良好
我正在尝试使用 sys_exec 在 unix 上运行 native 命令,但我已尝试将插件从 https://github.com/mysqludf/lib_mysqludf_sys 放入 进入 /
我是一名优秀的程序员,十分优秀!