繁体   English   中英

MYSQL语法定界符和语法错误

[英]MYSQL syntax delimiter and syntax error

我尝试修复以下语法错误,但在这里看不到到底是什么错误:

DELIMITER =
CREATE TRIGGER trigs BEFORE UPDATE ON autoinc 
FOR EACH ROW BEGIN 
DECLARE num_rows INTEGER; 
SELECT (*) INTO num_rows FROM autoinc;
IF num_rows >=3 THEN 
DELETE FROM autoinc LIMIT 1; 
END IF; 
END=
DELIMITER ;

错误是:

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 '*) INTO num_rows FROM autoinc; IF num_rows >' at line 4

 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 '3 THEN 

能帮我解决这个问题吗?

正如评论中已经提到的:

SELECT (*) AS num_rows ...

本来应该是

SELECT COUNT(*) AS num_rows ...

IF num_rows >=3 THEN 

如您定义的=分隔符。

使用代码中没有的定界符,例如:

DELIMITER //

有了这两个更改,事情应该可以正常工作而不会出现语法错误

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM