我如何在MySQL中获得错误#1064

时间:2013-03-20 22:48:34

标签: mysql stored-procedures

当我尝试使用存储过程时,我一直收到同样的错误。

示例:

CREATE PROCEDURE mmStudents
AS 
SELECT * FROM student where course 'mm'
  

1064 - 您的SQL语法出错;检查与您的MySQL服务器版本相对应的手册,以便在第2行“AS SELECT * FROM student where course'mm''附近使用正确的语法

任何帮助表示感谢。

3 个答案:

答案 0 :(得分:1)

MySQL存储过程没有AS个关键字。它应该是

DELIMITER $$
CREATE PROCEDURE mmStudents()
BEGIN
    SELECT * FROM student where course = 'mm';
END $$
DELIMITER ;

答案 1 :(得分:0)

您缺少where子句的运算符

SELECT * FROM student where course = 'mm'

例如。

来自CREATE PROCEDURE

  

括号内的参数列表必须始终存在。如果没有参数,则应使用()的空参数列表。

所以你的完整陈述应该是

CREATE PROCEDURE mmStudents()
SELECT * FROM student where course = 'mm'

答案 2 :(得分:-1)

我认为你应该看看MySQL documentation to Stored Procedures

关于如何创建存储过程,有一个很好的例子。

希望它有所帮助!