MySQL / phpMyAdmin зависает от DELIMITER - PullRequest
4 голосов
/ 15 января 2010

Запуск этой процедуры приводит к зависанию MySQL (или phpMyAdmin). Я должен остановить MySQL с помощью команды XAMPP, которая зависает и «не отвечает» примерно за 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 ;

Ответы [ 2 ]

5 голосов
/ 15 января 2010

Как оказалось, phpMyAdmin имеет поле, помеченное "delimiter:" под окном SQL-запроса. Использование, а не команда решает проблему. Дальнейшие исследования объясняют, что «DELIMITER» - это не команда SQL, а команда, обычно реализуемая всеми пользовательскими интерфейсами SQL.

0 голосов
/ 15 января 2010

команда обновления должна:

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

where после предложения set

...