MySQL无法理解语法错误

时间:2017-05-09 08:17:48

标签: mysql

DELIMITER //
CREATE TRIGGER sample_index
AFTER INSERT ON qa_quantifiers_box_float
FOR EACH ROW BEGIN
    IF (
        SELECT 1 = 1 
        FROM `qa_quantifiers` 
        WHERE `type`='PERCENTAGE' 
        and Id<>8 
        and Id=NEW.q_id
    ) THEN
        update qa_labels_box_gen qa set `SampleIndex`=(SampleIndex+NEW.score) WHERE NEW.qlb_id=Id;
    END IF;
END;
DELIMITER;
  

MySQL说:文档

     

#1064 - 您的SQL语法出错;检查与MySQL服务器版本对应的手册,以便在第11行的''附近使用正确的语法

enter image description here

什么?

编辑:

感谢ÁlvaroGonzález的评论:

我不知道的是,在使用时;在mysql代码中我需要将分隔符更改为//并在定义触发器后使用它:

DELIMITER //
CREATE TRIGGER sample_index
    AFTER INSERT ON qa_quantifiers_box_float
    FOR EACH ROW BEGIN
        IF (
            SELECT 1 = 1 
            FROM `qa_quantifiers` 
            WHERE `type`='PERCENTAGE' 
            and Id<>8 
            and Id=NEW.q_id
        ) THEN
            update qa_labels_box_gen qa set `SampleIndex`=(SampleIndex+NEW.score) WHERE NEW.qlb_id=Id;
        END IF;
    END;
//

0 个答案:

没有答案