0

PhpMyAdminのSQLコンソールからトリガーを作成しようとしましたが、ナビゲーターが無限にロードされます

DELIMITER |
CREATE TRIGGER before_insert_history BEFORE INSERT
ON history FOR EACH ROW
BEGIN
INSERT INTO newsfeed(user_ID, date_action, action, pg_ID, rk_ID, vote) 
VALUES (NEW.user_ID, NOW(), "vote", NEW.page_ID, NEW.ranking_ID, SELECT IF(NEW.liked='1','1','-1') AS vote );
END |
DELIMITER ;

一定時間後、次のエラーが発生します:致命的なエラー:259行目のC:\ wamp \ apps \ phpmyadmin3.2.0.1 \ libraries \ import\sql.phpで最大実行時間が300秒を超えました

区切り文字の問題かもしれませんが、私は「;」を選択しました。コンソールの下部にある区切り文字フィールド。

4

1 に答える 1

0

delimiterSQL ではなく、MySQL クライアント コマンドです。|PHPMyAdmin の [SQL] タブのドロップダウン ボックスから区切り文字として選択し、ここに投稿した同じコードをdelimiterコマンドなしで使用する必要があると思います。

コマンド内で単純なステートメントを試してみたところdelimiter、最初のdelimiterコマンドはあまり効果がないように見えましたが、2 番目のコマンドでハングしました。それを削除すると、私の場合は解決しました。

CREATE TRIGGER before_insert_history BEFORE INSERT
ON history FOR EACH ROW
BEGIN
INSERT INTO newsfeed(user_ID, date_action, action, pg_ID, rk_ID, vote) 
VALUES (NEW.user_ID, NOW(), "vote", NEW.page_ID, NEW.ranking_ID, SELECT IF(NEW.liked='1','1','-1') AS vote );
END |
于 2012-08-02T14:32:36.313 に答える