mysql - 从 shell 打印 mysql ROW_COUNT() 结果

标签 mysql shell unix

假设我有一个查询从数据库中删除一些数据,并在最后返回 使用 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/

相关文章:

php - “where子句”查询中的未知列“email”

c - 如何从 C 的 shell 脚本执行函数

linux - 如何提取子文件中存在的化合物名称?

c - 由于奇怪的未知原因而出现段错误

python - 如何在第一次调用 paramiko 命令时设置密码?

php 检查mysql中是否存在输入值(与性能有关)

php - mysqli->commit 总是提交,即使语句中有错误

mysql - 将多个表连接到单个 mysql 表中,为每条记录添加新字段

linux - 如何在没有任何用户配置的情况下启动 shell?

linux - grep 排除带有 [ 字符的句子