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行的''附近使用正确的语法
什么?
编辑:
感谢Á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;
//