Ответ 1
Возможно, см. MySQL FAQ для объяснения того, как
Может ли триггер вызывать внешнее приложение через UDF?
Но это может быть плохой дизайн с вашей стороны, если вам нужно прибегнуть к этому
Я хочу вызвать и выполнить PHP script из процедуры MySQL. Возможно ли это?
CREATE PROCEDURE simpleproc (OUT param1 INT)
BEGIN
Call my PHP скрипт here
END//
[EDIT]
На самом деле я пытаюсь поднять событие, когда выполняется условие - например, когда значение поля таблицы совпадает с текущим временем. Затем я хочу захватить событие и отправить электронное письмо.
Возможно, см. MySQL FAQ для объяснения того, как
Может ли триггер вызывать внешнее приложение через UDF?
Но это может быть плохой дизайн с вашей стороны, если вам нужно прибегнуть к этому
DELIMITER @@
CREATE TRIGGER Test_Trigger
AFTER INSERT ON MyTable
FOR EACH ROW
BEGIN
DECLARE cmd CHAR(255);
DECLARE result int(10);
SET cmd=CONCAT('/usr/bin/php ', '/home/test/beta/demo.php');
SET result = sys_exec(cmd);
END;
@@
DELIMITER ;
Для решения вашей проблемы вы можете создать таблицу для задач. Из хранимой процедуры вы можете поместить в эту таблицу любую строку для задачи. На сервере вы можете запустить PHP script crontab. script проверит эту таблицу и выполнит некоторую операцию.