繁体   English   中英

如何获取shell脚本中从mysql删除的行数

[英]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变量中。

非常感激任何的帮助。

添加“ -vv”

mysql mydb -e“从mytable中删除,插入时间<'2010-04-01 00:00:00'-vv

https://dba.stackexchange.com/questions/23527/how-can-you-output-update-insert-query-results-when-using-mysql-e-execute

 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM