為了避免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)
以上是如何解決 MySQL 錯誤'您的 SQL 語法有錯誤;檢查與您的 MySQL 伺服器版本相對應的手冊,以了解要使用的正確語法?”的詳細內容。更多資訊請關注PHP中文網其他相關文章!