dtgv52982 2015-03-25 09:14
浏览 27
已采纳

触发错误

DELIMITER $$

USE `airdb`$$

DROP TRIGGER /*!50032 IF EXISTS */ `updateprodaja`$$

CREATE
    /*!50017 DEFINER = 'root'@'localhost' */
    TRIGGER `updateprodaja` BEFORE UPDATE ON `prodaja` 
    FOR EACH ROW BEGIN
        IF ( SELECT podmireno FROM prodaja WHERE id = NEW.id ) > 0 THEN
            SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Error: you got an error'
        END IF;
    END;
$$

DELIMITER ;

Got given error

Error Code: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'END IF;
    END' at line 7
  • 写回答

1条回答 默认 最新

  • duanou9758 2015-03-25 09:16
    关注

    try with this you forget to terminate sql query before end if

    DELIMITER $$
    
    USE `airdb`$$
    
    DROP TRIGGER /*!50032 IF EXISTS */ `updateprodaja`$$
    
        CREATE
            /*!50017 DEFINER = 'root'@'localhost' */
            TRIGGER `updateprodaja` BEFORE UPDATE ON `prodaja` 
            FOR EACH ROW BEGIN
                IF ( SELECT podmireno FROM prodaja WHERE id = NEW.id ) > 0 THEN
                    SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Error: you got an error';
                END IF;
            END;
        $$
    
        DELIMITER ;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本