从shell打印MySQL ROW_COUNT()结果



假设我有一个查询,它从数据库中删除了一些数据,并在最后返回使用 mysql SELECT ROW_COUNT(( 删除的行数。

delete from person where creation_date < DATE_SUB(CURRENT_TIMESTAMP(), INTERVAL 4 HOUR);SELECT ROW_COUNT();

这是我的 bash 脚本

rows=$($MYSQL -h $MARIADB_HOST -P $MARIADB_PORT -u $MARIADB_USER --password=$MARIADB_PASSWORD -D $MARIADB_NAME -s -N < script.sql ) 

当我调用 echo 像这样打印结果时

echo $rows

它可以正常工作并正确打印受影响的行的 NB。

但是当我在引号内调用它时,它不起作用并且打印"已删除">

echo "$rows was deleted"

我不知道发生了什么? 有关信息,我正在Cygwin中运行脚本

似乎特殊

字符导致了此问题。

nbRows=`echo $rows | sed 's/[^0-9]*//g'`

最新更新