【问题标题】:printing mysql ROW_COUNT() result from shell从 shell 打印 mysql ROW_COUNT() 结果
【发布时间】:2018-03-19 14:45:13
【问题描述】:

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

【问题讨论】:

    标签: mysql shell unix


    【解决方案1】:

    似乎是特殊字符导致了这个问题。

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

    【讨论】:

      猜你喜欢
      • 2021-07-12
      • 1970-01-01
      • 2014-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-23
      • 2013-01-08
      相关资源
      最近更新 更多