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

관련 정보