我正在尝试运行一个脚本,通过在循环中执行以下操作,批量删除MySQL(innodb)表中的一堆行:
mysql --user=MyUser --password=MyPassword MyDatabase < SQL_FILE
其中SQL_FILE包含DELETE FROM ... LIMIT X命令。
我需要继续运行此循环,直到没有更多匹配的行。但与在mysql shell中运行不同,上面的命令不会返回受影响的行数。我试过-v和-t但是都没有用。如何找出批处理脚本影响的行数?
谢谢!
答案 0 :(得分:14)
您可以在批处理脚本的末尾添加SELECT ROW_COUNT();
。
答案 1 :(得分:2)
如果添加选项-vv,它将产生更详细的输出,其中还包含有关受影响行数的信息;
mysql -vv --user = MyUser --password = MyPassword MyDatabase&lt; SQL_FILE