4

この手順を実行すると、MySQL (または phpMyAdmin) がフリーズします。from XAMPP コマンドで MySQL を停止する必要があります。停止する約 20 秒前にフリーズし、「応答していません」。これは、delimiter コマンドが原因であると考えており、それ自体が問題を引き起こしています。別の区切り文字 ("//") を使用しようとしましたが、効果がありませんでした。

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:」とマークされたフィールドがあります。コマンドの代わりにそれを使用すると、問題が解決します。さらなる調査により、「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;

節のwhereset

于 2010-01-14T23:38:56.893 に答える