[英]How to get number of rows deleted from mysql in shell script
我无法弄清楚如何在运行删除操作时使mysql客户端将删除的行数返回给shell。 有谁知道哪个选项可以启用此功能? 还是可以解决的?
这是我正在尝试的方法,但没有输出:
#!/bin/bash
deleted=`mysql mydb -e "delete from mytable where insertedtime < '2010-04-01 00:00:00'"|tail -n 1`
我期望这样的东西作为mysql的输出:
deleted
999999
这就是为什么我有尾号-n 1的原因,所以我只选择计数而不是列名。
手动运行命令时(mysql mydb -e“从mytable中插入,插入时间<'2010-04-01 00:00:00'”删除)没有输出。 在运行mysql客户端时以交互方式运行命令时,将执行以下操作:
mysql>delete from mytable where insertedtime < '2010-04-01 00:00:00';
Query OK, 0 rows affected (0.00 sec)
我想将受影响的行数计入我的shell变量中。
非常感激任何的帮助。
先前曾问过这个问题: 从bash执行MySQL查询时,如何获得受影响的行数?
添加“ -vv”
mysql mydb -e“从mytable中删除,插入时间<'2010-04-01 00:00:00'-vv
deleted=`mysql mydb -e "delete from mytable where insertedtime < '2010-04-01 00:00:00'"|tail -n 1`
int icount = mysql_CountRow(deleted);
它对我有用,试试这个。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.