2010-05-18 62 views
7

我试图运行删除分批一堆在MySQL(InnoDB的)表行的脚本,通过执行在一个循环中执行以下操作:MySQL命令行工具:如何找出受DELETE影响的行数?

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

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

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

谢谢!

+0

我想我只是找到了答案:http://stackoverflow.com/questions/1083866/how-to-get-number -of-行影响,而执行的MySQL的查询从 - 庆典 – ambivalence 2010-05-18 01:05:47

回答

13

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

1

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

的MySQL -vv --user = MYUSER - 密码= MyPassword输入MyDatabase的< SQL_FILE