Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.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
Php MySQL:如何调试带有内部连接的触发器的语法错误?_Php_Mysql_Sql_Triggers - Fatal编程技术网

Php MySQL:如何调试带有内部连接的触发器的语法错误?

Php MySQL:如何调试带有内部连接的触发器的语法错误?,php,mysql,sql,triggers,Php,Mysql,Sql,Triggers,我正在尝试使用内部连接在MySQL中创建触发器,但我一直遇到语法错误,我想知道调试查询的最佳方法是什么,并找出它出错的原因?我似乎无法从MySQL获得关于语法错误的详细信息,因为它只是说“内部连接附近的语法错误…” 我的问题是: DELIMITER | CREATE TRIGGER update_total_donation_amount AFTER INSERT ON donation FOR EACH ROW BEGIN UPDATE user u

我正在尝试使用内部连接在MySQL中创建触发器,但我一直遇到语法错误,我想知道调试查询的最佳方法是什么,并找出它出错的原因?我似乎无法从MySQL获得关于语法错误的详细信息,因为它只是说“内部连接附近的语法错误…”

我的问题是:

DELIMITER |
CREATE TRIGGER update_total_donation_amount AFTER INSERT ON donation
FOR EACH ROW
    BEGIN
        UPDATE user u
            INNER JOIN log_play AS lp
                ON u.id = lp.user_id
            INNER JOIN log_play_donation AS lpd
                ON lp.id = lpd.play_log_id
           SET u.total_donation_amount = u.total_donation_amount + NEW.amount
           WHERE NEW.id = lpd.donation_id;
    END;    
|
DELIMITER ;

更新是否在触发器之外工作?联接在select子句中起作用吗?谢谢。这对我帮助很大!