当我在mysql工作台中运行任何选择或更新查询时,它显示或返回的行数。
在我的脚本中,我使用mysql -u user -h ip db -se"select * from.."
我尝试重定向mysql
输出:
./script.sh >> script.log 2>&1
但它仅显示错误消息,无法成功运行。
它不显示
27 row(s) returned
。因此,在那种情况下,我无法检查是否有任何更新语句,选择或过程成功运行。如何获得成功运行的输出?
最佳答案
我在mysql
的选项中找到了解决方案。
像这样运行它:
mysql -u USER -h HOST -p PORT --password -vv -se "YOUR QUERY" >output.txt 2>errors.txt
-vv
参数的添加将为您提供受影响的行数。-vvv
还将告诉您运行查询所花费的时间。例如:我跑了这个:
mysql -u Nic3500-h localhost -P 3306 --password -vv -se "INSERT INTO stackoverflow.activity (activity_id, activity_name) VALUES ('10', 'testtest');" >output.txt 2>&1
而output.txt是:
--------------
INSERT INTO stackoverflow.activity (activity_id, activity_name) VALUES ('10', 'testtest')
--------------
Query OK, 1 row affected
Bye