MySQL/phpMyAdmin freezes from DELIMITER

2019-02-23 14:27发布

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 ;

2条回答
闹够了就滚
2楼-- · 2019-02-23 15:08

the update command should:

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

the where after the set clause

查看更多
对你真心纯属浪费
3楼-- · 2019-02-23 15:24

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.

查看更多
登录 后发表回答