更新行的 bash/mysql 计数中的字符串提取



这可能是一件微不足道的事情,但我在任何地方都找不到它......我有一个变量,

已更新="--------------更新表 设置列 = '值' 其中条件 = 'true' -------------- 查询正常,受影响的 3 行 匹配的行数:0 更改:0 警告:0 再见"

我想从变量$UPDATED中获取3.它可以是任何东西,有时是 0,有时是非零(个位数、两位数等)

如何获取更新了多少行的值。我发现对 mysql 查询使用 -vvv 会给出上面的文本,所以我正在使用它。如果有任何其他更简单的方法来更新行数,那就更好了。

使用 grep

echo "${UPDATED}"| grep -Po  "[0-9]*(?= rows)"

如果您关心的是获取受UPDATE语句影响的行数,那么您只需使用[ROW_COUNT][1]方法来获取它。

UPDATE table SET column = value;
SELECT row_count() INTO variable;

在你的 bash 脚本中,你可以这样做,其中 affected_rows 是一个变量,它将存储命令的值

affected_rows='`mysql -h [hostname] -u[user] -p[pass] -e UPDATE table SET column = value; SELECT row_count();`';

相关内容

  • 没有找到相关文章

最新更新