我在shell中的变量中存储了一个值。如下所示
app=$(mysql -uroot -p123456 -e 'SELECT applicant FROM `leave` where status="Applied" and applying_date= curdate()' comviva|tail -1);
但如果我想要更新任何列我正面临错误,请使用此变量。以下是错误。 更新命令:
mysql -uroot -p123456 -e "update leave set status=\"pending\" where applicant=\"$app\"" comviva;
遇到错误:
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'leave set status="pending" where applicant="a"' at line 1
答案 0 :(得分:1)
错误是由于在语句中使用Reserved Word,LEAVE
作为标识符。
因此,要在语句中使用它作为标识符,请使用它后面的标记。
mysql -uroot -p123456 -e "update `leave` set status='pending' where applicant='$app'" comviva;
答案 1 :(得分:0)
请使用此
mysql -uroot -p123456 -e "update leave set status='pending' where applicant='$app'" comviva;