【问题标题】:MySQL command-line tool: How to find out number of rows affected by a DELETE?MySQL 命令行工具:如何找出受 DELETE 影响的行数?
【发布时间】:2021-08-25 18:33:44
【问题描述】:

我正在尝试运行一个脚本,通过在循环中执行以下命令,批量删除 MySQL (innodb) 表中的一堆行:

mysql --user=MyUser --password=MyPassword MyDatabase < SQL_FILE

其中 SQL_FILE 包含 DELETE FROM ... LIMIT X 命令。

我需要继续运行这个循环,直到没有更多匹配的行。但与在 mysql shell 中运行不同的是,上述命令不会返回受影响的行数。我试过 -v 和 -t 但都不起作用。如何找出批处理脚本影响了多少行?

谢谢!

【问题讨论】:

标签: mysql


【解决方案1】:

您可以在批处理脚本末尾添加SELECT ROW_COUNT();

【讨论】:

    【解决方案2】:

    如果添加选项 -vv,它将产生更详细的输出,其中还包含有关受影响行数的信息;

    mysql -vv --user=MyUser --password=MyPassword MyDatabase < SQL_FILE
    

    【讨论】:

      猜你喜欢
      • 2014-01-14
      • 1970-01-01
      • 1970-01-01
      • 2019-02-19
      • 1970-01-01
      • 1970-01-01
      • 2016-02-01
      • 1970-01-01
      • 2023-03-27
      相关资源
      最近更新 更多