0
システムが新しいレコードを1つのdbテーブルに挿入するときに、特定のスクリプト(名前はproc.phpファイルを参照)を実行したいと思います。 、私はすでに私のサーバー上でこれをインストールし、このためにmySQLのトリガーとプロシージャの問題
iが引き金と手順を書いた)正常に動作し、それは `s
トリガーコード:
DELIMITER $$
USE `db_name`$$
DROP TRIGGER /*!50032 IF EXISTS */ `trigger`$$
CREATE /*!50017 DEFINER = 'root'@'localhost' */ TRIGGER `trigger` AFTER INSERT ON `billing`
FOR EACH ROW
BEGIN
CALL `db_name`.`udf_proc`(NEW.user_id);
END;
$$
DELIMITER ;
手順コード:
DELIMITER $$
CREATE /*[DEFINER = { user | CURRENT_USER }]*/ PROCEDURE `db_name`.`udf_proc`(userId INT)
BEGIN
DECLARE cmd CHAR(255);
DECLARE result CHAR(255);
SET cmd = CONCAT('php -f "/var/www/html/proj/proc.php" ',userId);
SET result = sys_eval(cmd);
END$$
DELIMITER;
私は手動で何も起こりません新しいレコードを挿入しようとしている、と
私は123にproc.phpの間にスペースがあることが必要だと思いますか? トリガーを編集してそのスペースを追加するにはどうすればよいですか? –
'DROP TRIGGER'でトリガを削除してもう一度作成してください:) –
私は現在のトリガを落としてから、ドロップトリガラインを使って同じトリガを作成します。変更オプションでは、ドロップダウンコマンドagian –