在mysql更新期间遇到问题

时间:2014-04-21 05:55:45

标签: mysql sql

我在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

2 个答案:

答案 0 :(得分:1)

错误是由于在语句中使用Reserved WordLEAVE作为标识符。

因此,要在语句中使用它作为标识符,请使用它后面的标记。

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;