如何解决MySQL错误“You have an error in your SQL syntax; check the manual\nthat corresponds to your MySQL server version for the right syntax to use near?”
为了避免在MySQL存储过程中出现此类错误,您需要将分隔符;更改为//。
假设您正在使用存储过程或触发器甚至函数,则需要更改分隔符。语法如下。
DELIMITER // CREATE PROCEDURE yourProcedureName() BEGIN Statement1, . . N END; // DELIMITER ;
为了理解上述语法,让我们创建一个存储过程。创建存储过程的查询如下 -
mysql> DELIMITER // mysql> CREATE PROCEDURE sp_getAllRecords() -> BEGIN -> SELECT *FROM employeetable; -> END; -> // Query OK, 0 rows affected (0.23 sec) 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) Query OK, 0 rows affected (0.02 sec)
广告