我尝试从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秒的最长执行时间
也许这是一个分隔符问题,但我选择了“;”在控制台底部的分隔符字段中。
答案 0 :(得分:0)
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 |