phpMyAdmin的冻结创建触发器
问题描述:
我试图创建的phpMyAdmin的SQL控制台触发,但导航加载无限phpMyAdmin的冻结创建触发器
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 ;
一定的时间,我有这样的错误后:致命错误:300秒最长执行时间超过了在线259上的C:\ wamp \ apps \ phpmyadmin3.2.0.1 \ libraries \ import \ sql.php
也许这是一个分隔符问题,但我选择了“;”在控制台底部的分隔符字段中。
答
delimiter
是一个MySQL客户端命令,而不是SQL。我相信您需要从PHPMyAdmin的SQL选项卡下拉框中选择|
作为您的分隔符,然后使用您在此发布但没有delimiter
命令的相同代码。
我刚刚尝试了delimiter
命令中的一个简单语句,尽管第一个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 |