假设我有一个查询从数据库中删除一些数据,并在最后返回 使用 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
它可以正常工作并正确打印受影响的行数。
但是,当我在引号内调用它时,它不起作用并且会打印 “已删除”
echo "$rows was deleted"
我不知道发生了什么?有关信息,我正在 cygwin 中运行脚本
最佳答案
看来特殊字符导致了这个问题。
nbRows=`echo $rows | sed 's/[^0-9]*//g'`
关于mysql - 从 shell 打印 mysql ROW_COUNT() 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49365685/