当我在控制台上执行mysql过程时,它总是显示两次,但我不知道每件事都指的是什么时间。

提前感谢!
发布于 2019-02-22 06:48:07
您的过程必须先执行SELECT操作,然后执行一些非SELECT操作。
下面是一个演示:
mysql> delimiter ;;
mysql> create procedure p() begin select 123; do 123+456; end;;
mysql> delimiter ;
mysql> call p;
+-----+
| 123 |
+-----+
| 123 |
+-----+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.00 sec)报告的两次是针对过程中运行的两个SQL语句。
具有结果集的语句包括SELECT和SHOW。
所有其他语句都没有结果集,但可能会影响行。例如,如果UPDATE更改了行,它将报告受影响的行数,即它更改的行数。
我在演示中展示的快速示例仅使用DO语句,该语句计算表达式,但不更改任何数据或返回任何数据。
https://stackoverflow.com/questions/54814352
复制相似问题