这可能是一件微不足道的事情,但我在任何地方都找不到它......我有一个变量,
已更新="--------------更新表 设置列 = '值' 其中条件 = '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();`';