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