MySQL/phpMyAdmin 从 DELIMITER 冻结

2022-01-05 00:00:00 delimiter xampp mysql phpmyadmin triggers

运行此程序会导致 MySQL(或 phpMyAdmin)冻结.我必须使用 from XAMPP 命令停止 MySQL,该命令在停止前大约 20 秒冻结并且没有响应".我相信这是由分隔符命令引起的,它本身就是问题的开始.我尝试使用不同的分隔符(//")但没有效果.

Running this procedure causes MySQL (or phpMyAdmin) to freeze. I have to stop MySQL with from XAMPP command, which freezes and "is not responding" about 20 seconds before stopping. I believe this is caused by the delimiter command, which on it's own begins the problems. I have tried using a different delimiter ("//") to no effect.

DELIMITER $

CREATE TRIGGER coroner AFTER INSERT ON events
FOR EACH ROW BEGIN
UPDATE teams WHERE id = NEW.victim SET live = live-1;
UPDATE teams WHERE id = NEW.shooter SET score = score+points;
END

$

DELIMITER ;

推荐答案

事实证明,phpMyAdmin 在 SQL 查询框下方有一个标记为分隔符:"的字段.使用它而不是命令可以解决问题.进一步研究说明DELIMITER"不是SQL命令,而是所有SQL ui通用的命令.

As it turns out, phpMyAdmin has a field marked "delimiter:" below the SQL query box. Using it rather than the command solves the problem. Further research explains that "DELIMITER" is not a SQL command, but a command generally implemented by all SQL ui's.

相关文章