MySQL命令行工具:如何找出受DELETE影响的行数?

时间:2010-05-18 01:02:11

标签: mysql

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

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

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

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

谢谢!

2 个答案:

答案 0 :(得分:14)

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

答案 1 :(得分:2)

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

mysql -vv --user = MyUser --password = MyPassword MyDatabase&lt; SQL_FILE