LOOKUP=123
SQLSTMT="SELECT COUNT(1) FROM table WHERE id=${LOOKUP}"
RCOUNT=`mysql -u... -p... -AN -Ddbname -e"${SQLSTMT}"`
if [ ${RCOUNT} -eq 0 ]
then
echo "Row ${LOOKUP} exists"
else
echo "Row ${LOOKUP} does not exist"
fi
这是一个替代方案
LOOKUP=123
SQLSTMT="SELECT CONCAT('Row ',rcount,' ',IF(rcount=0,'Exists','Does Not Exist')) FROM (SELECT COUNT(1) rcount FROM rolando WHERE id=${LOOKUP}) A"
mysql -u... -p... -AN -Ddbname -e"${SQLSTMT}" > /tmp/answer.txt
cat /tmp/answer.txt
尝试更改查询以强制一个值
代替
您可以使用
这是使用该新查询的 bash 脚本
这是一个替代方案
试试看 !!!
你也可以试试这个作为单线
将在 0 行上返回 1(错误),在找到的行上返回 0(正常)。
https://tldp.org/LDP/abs/html/dblparens.html