首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在mysql中更新时面临的问题

问在mysql中更新时面临的问题
EN

Stack Overflow用户
提问于 2014-04-21 13:55:45
回答 2查看 27关注 0票数 0

我在shell中的一个变量中存储了一个值。如下所示

代码语言:javascript
复制
app=$(mysql -uroot -p123456 -e 'SELECT applicant FROM `leave` where status="Applied" and applying_date= curdate()' comviva|tail -1);

但是使用这个变量,如果我想要更新任何列,我就会遇到错误。下面是错误。更新命令:

代码语言:javascript
复制
mysql -uroot -p123456 -e "update leave set status=\"pending\" where applicant=\"$app\"" comviva;

遇到的错误:

代码语言:javascript
复制
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
EN

回答 2

Stack Overflow用户

发布于 2014-04-21 14:03:28

错误是由于在语句中使用、LEAVE作为标识符造成的。

因此,要在语句中将其用作标识符,请在其两边使用反勾号。

代码语言:javascript
复制
mysql -uroot -p123456 -e "update `leave` set status='pending' where applicant='$app'" comviva;
票数 1
EN

Stack Overflow用户

发布于 2014-04-21 13:58:39

请用这个

代码语言:javascript
复制
mysql -uroot -p123456 -e "update leave set status='pending' where applicant='$app'" comviva;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23191663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档