MySQL 分隔符錯誤何時發生?
當您使用管道分隔符 (|) 和分號 (;),並且使用低於 8.0.12 版本的 MySQL 時,就會發生 MySQL 分隔符錯誤。
MySQL 將管道 (|) 視為一個分隔符,分號 (;) 是另一個分隔符。因此,不要將 MySQL 分隔符與管道和分號混淆。
注意:這裡我們使用的是 MySQL 8.0.12 版本。管道分隔符可以與分號一起正常工作。如果您使用的是低於 8.0.12 的版本,則會導致分隔符錯誤。
以下是 MySQL 分隔符的工作原理
mysql> delimiter |; mysql> create procedure getSumOfTwoNumbers() -> begin -> select 2+3 as TotalValue; -> end ; -> |; Query OK, 0 rows affected (0.17 sec) mysql> delimiter ;
現在使用 call 命令呼叫儲存過程。查詢如下所示
mysql> call getSumOfTwoNumbers();
以下是輸出結果
+------------+ | TotalValue | +------------+ | 5 | +------------+ 1 row in set (0.00 sec) Query OK, 0 rows affected (0.01 sec)
不要將上述管道分隔符與分號一起使用,因為在 MySQL 中,分號是預設分隔符,它表示 MySQL 中語句的結束。因此,當您編寫多條語句時,可以使用分號從 MySQL 儲存過程中返回。
以下是更改分隔符的示例。
首先,使用管道分隔符 (|)。如果要將分隔符設定為管道,請使用以下查詢。
mysql> DELIMITER |
建立儲存過程的查詢如下所示
mysql> DELIMITER | mysql> create procedure Demo() -> begin -> select 2*3 as TotalMultiplication; -> end ; -> | Query OK, 0 rows affected (0.12 sec)
現在將分隔符更改為分號。如果要將分隔符設定為分號,請使用以下查詢。
查詢如下所示
mysql> delimiter ;
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP