如何解决MySQL错误“您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册,以了解在附近使用正确的语法?”

为了避免MySQL存储过程中的此类错误,您需要更改定界符; 至 //。

假设如果使用存储过程,触发器或函数,则需要更改定界符。语法如下。

DELIMITER //
   CREATE PROCEDURE yourProcedureName()
   BEGIN
      Statement1,
      .
      .
   N
END;
//
DELIMITER ;

为了理解上述语法,让我们创建一个存储过程。创建存储过程的查询如下-

mysql> DELIMITER //
mysql> CREATE PROCEDURE sp_getAllRecords()
-> BEGIN
-> SELECT *FROM employeetable;
-> END;
-> //
mysql> DELIMITER ;

使用CALL命令调用存储过程。语法如下。

CALL yourStoredProcedureName();

现在调用上面的过程,返回Employee表的所有记录。查询如下。

mysql> CALL sp_getAllRecords();

以下是输出。

+------------+--------------+----------------+
| EmployeeId | EmployeeName | EmployeeSalary |
+------------+--------------+----------------+
| 2 | Bob | 1000 |
| 3 | Carol | 2500 |
+------------+--------------+----------------+
2 rows in set (0.00 sec)