4

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

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 ;
4

2 回答 2

5

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

于 2010-01-15T00:05:37.007 回答
0

更新命令应该:

update teams set live = live-1 where id = new.victim;
update teams where id = new.shooter set score = score+points;

子句where之后_set

于 2010-01-14T23:38:56.893 回答