2010-05-18 59 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