[英]mysql - Syntax error on trigger
I am trying to write the following trigger: 我正在尝试编写以下触发器:
DELIMITER $$
CREATE TRIGGER trigger_test_1 AFTER INSERT ON test FOR EACH ROW
BEGIN
DECLARE sID INT;
DECLARE m INT;
DECLARE a INT;
DECLARE c INT;
SET sID = NEW.s;
SELECT MONTH(NOW()) INTO m;
SELECT YEAR(NOW()) INTO a;
SELECT COUNT(*) INTO c
FROM testt t
WHERE t.m = m AND t.a = a AND t.sID = sID;
IF c = 0 THEN
INSERT INTO testt VALUES (m, a, sID, '', '');
END $$
DELIMITER ;
The error is: 错误是:
ERROR 1064 (42000): 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 '' at
line 15
The tables are quite simple: 表非常简单:
CREATE TABLE test(
s INT
);
CREATE TABLE testt(
m INT,
a INT,
sID INT,
t VARCHAR(200),
d VARCHAR(500)
);
Thanks. 谢谢。
You miss END IF; 你错过END IF; at the end: 在末尾:
IF c = 0 THEN INSERT INTO testt VALUES (m, a, sID, '', '');
END IF;
END $$
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.