【问题标题】:PhpMyAdmin freezes by creating triggersPhpMyAdmin 通过创建触发器冻结
【发布时间】:2012-07-14 02:03:10
【问题描述】:

我尝试从 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 秒的最大执行时间

可能是分隔符问题,但我选择了“;”在控制台底部的分隔符字段中。

【问题讨论】:

    标签: mysql sql phpmyadmin


    【解决方案1】:

    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 |
    

    【讨论】:

      猜你喜欢
      • 2012-11-15
      • 2018-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-14
      • 2014-09-20
      • 2017-08-27
      相关资源
      最近更新 更多