什么是错误的这个bash脚本[mysql-query]

时间:2011-02-28 00:06:05

标签: mysql bash insert

第一个查询工作正常,但第二个查询不起作用..为什么?怎么了?

#/bin/bash
MyUSER="root"     # USERNAME
MyPASS="pass"       # PASSWORD
MyHOST="localhost"          # Hostname
DBS="$(mysql -u $MyUSER -h $MyHOST -p$MyPASS mydbname -Bse 'select `id` from `table` where `reset`=1 and `status`=0')"
if [ $DBS > 0 ];  then
    STRR='UPDATE `restart` SET `status` = 1 WHERE `id` ='$DBS' '
    DBS2="$(mysql -u $MyUSER -h $MyHOST -p$MyPASS proftpd -e '$STRR')"
fi

固定!感谢。

修正版:

if [ $DBS > 0 ];  then
    DBS2="$(mysql -u $MyUSER -h $MyHOST -p$MyPASS proftpd -e 'UPDATE `restart` SET `status` = 1 WHERE `id` ='$DBS'')"
fi

2 个答案:

答案 0 :(得分:0)

您将Select查询结果写入“DBS”,但是您将$ DBS用于if条件。也许这就是第二个没有被执行的原因。

更多信息会很好。

答案 1 :(得分:0)

如果[$ DBS> 0];然后

DBS2 =“$(mysql -u $ MyUSER -h $ MyHOST -p $ MyPASS proftpd -e'UPDATE restart SET status = 1 WHERE id ='$ DBS' “)“

网络连接