我想在MySql中执行以下代码,但出现错误
CREATE TRIGGER CINEMAHALLNO_GENERATE_TRIGGER
BEFORE INSERT ON CINEMA_HALLS
FOR EACH ROW
BEGIN
DECLARE cnt DOUBLE;
DECLARE next1 DOUBLE;
SELECT COUNT(HALLNO) INTO cnt from CINEMA_HALLS;
IF cnt > 0 AND cnt < 20 THEN
SELECT MAX(HALLNO) INTO NEXT1 FROM CINEMA_HALLS;
set next1=next1+1;
SET :new.HALLNO=next;
ELSEIF cnt = 0 THEN
SET :new.HALLNO=1;
end if;
end;
输出错误:
SQL查询:
创建触发器CINEMAHALLNO_GENERATE_TRIGGER
在CINEMA_HALLS上插入之前
每行
开始
声明双倍
MySQL说:文档
1064-您的SQL语法有误;检查与您的MariaDB服务器版本相对应的手册以获取在第5行的''附近使用的正确语法
最佳答案
必须在开始之后放置声明。
请检查以下link
关于mysql - 如何在MySQL中的触发器中声明变量?当我为代码执行几行时出现错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52036699/