如何在bash脚本中使用SQL Update函数

史蒂文·罗瑟拉(Steven Rothera)

当一个变量大于另一个变量时,我试图通过bash脚本对SQL DB进行更新,但是我似乎无法使其正常工作。

我使用标准脚本使用update,该脚本可以正常工作,但是由于某种原因,我无法使用大于另一个变量的脚本。

#!/bin/bash
SQL="UPDATE stocklog.stock SET order = 'NEWTEST' WHERE stock.currentstock >= stock.optimalstock"

MYSQL_USER="****"
MYSQL_PASS="****"
MYSQL_DB="****"

echo $SQL | /usr/bin/mysql --user=$MYSQL_USER --password=$MYSQL_PASS $MYSQL_DB

如果我改为说currentstock等于'1',则相同的Update命令在bash脚本中起作用。

它给出的错误是:

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 'order = 'NEWTEST' WHERE stock.currentstock >= stock.optimalstock' at line 1

我正在尝试执行的有效SQL命令是:

UPDATE `stocklog`.`stock` SET `order` = 'NEWTEST' WHERE `stock`.`currentstock` >= `stock`.`optimalstock`;

有谁知道我需要在这里做什么才能使其正常工作?抱歉,如果这是一个垃圾问题,我仍在尝试学习!

谢谢

史蒂文·罗瑟拉(Steven Rothera)

解决了!这样做的方法没什么问题,我尝试了另一个我的脚本,该脚本运行良好,并对此应用了相同的方法。最后,我尝试将DB列重命名为orderstatus,而不是order,并且这样做有效。

如此看来,“顺序”必须意味着bash脚本中SQL命令中的某些内容?

感谢您的帮助@Jerry M

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章