在bash中将mysql count(*)转换为int?

在bash中将mysql count(*)转换为int?

我想执行这个并检查 bash 中的 count 是否为 0、1 或 > 1。

mysql -e "select count(*) from mydb.mydb;"

输出是:

+----------+
| count(*) |
+----------+
|        0 |
+----------+

我不知道如何解析这个。另外,这将在 cron 作业中使用,所以我不能有任何输出。

答案1

您可以通过以下方式隐藏选项卡列名称:

ROW_CNT=$(mysql --raw --batch -e 'select count(*) from mydb.mydb' -s)
echo $ROW_CNT

另外,SQL 命令末尾的分号是不必要的

答案2

试试这个-

count=$( $path/to/mysql -h $ip -u $user -p$password $schema -s \
          -e "select count(1) from employee where [email protected]");

if [[ "${count}" = '0' ]]; then
    break
else
    echo "Email exist, please enter a new value : "
fi

相关内容