从 bash 执行 MySQL 查询时如何获取受影响的行数?

问题描述 投票:0回答:3

我知道如何从 bash 执行 MySQL 查询/命令:

mysql -u[user] -p[pass] -e "[mysql commands]"

mysql -u[user] -p[pass] `<<`QUERY_INPUT

[mysql commands]

QUERY_INPUT

如何捕获查询影响了多少行?
我尝试做:

variable='`mysql -u[user] -p[pass] -e "[mysql commands]"`'

它确实执行命令,但不返回受影响的行数。

mysql bash
3个回答
98
投票

放置

SELECT ROW_COUNT();

作为批处理中的最后一个语句并解析输出


36
投票

查看文档,显然使用

-v
至少 3 次会迫使 MySQL 变得更加冗长,并且它会打印受影响的行数。示例:

mysql -vvv ...

参考:

https://dev.mysql.com/doc/refman/8.0/en/mysql-command-options.html#option_mysql_verbose


4
投票

不是答案,但有用的补充,您还可以尝试其他 MySQL 信息函数(包括 ROW_COUNT() )来为您提供所需的特定信息。 请参阅此处的 MySQL 参考

© www.soinside.com 2019 - 2024. All rights reserved.