我无法弄清楚如何让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中删除inserttime&lt;'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变量。
非常感谢任何帮助。
答案 0 :(得分:3)
答案 1 :(得分:1)
添加“-vv”
mysql mydb -e“从mytable中删除inserttime&lt;'2010-04-01 00:00:00'-vv
答案 2 :(得分:0)
deleted=`mysql mydb -e "delete from mytable where insertedtime < '2010-04-01 00:00:00'"|tail -n 1`
int icount = mysql_CountRow(deleted);
它对我有用。试试这个。