當您使用帶有分號 (;) 的管道分隔符號 (|) 且使用低於 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 ;
以上是MySQL分隔符號錯誤是什麼時候發生的?的詳細內容。更多資訊請關注PHP中文網其他相關文章!