Converte o mysql count (*) para int no bash?

5

Gostaria de executar isso e verificar se a contagem é 0, 1 ou > 1 no bash.

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

A saída é:

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

Eu não sei como analisar isso. Além disso, isso será usado em uma tarefa do cron, por isso não posso ter nenhuma saída.

    
por Mat 29.07.2012 / 08:40

2 respostas

7

Você pode suprimir o nome da coluna da guia:

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

Além disso, o ponto-e-vírgula no final do seu comando SQL é desnecessário

    
por 29.07.2012 / 08:59
0

experimente isso -

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
    
por 24.05.2016 / 08:10

Tags