在shell脚本的mysql表列中设置值时出现问题

在shell脚本的mysql表列中设置值时出现问题,mysql,sql,bash,shell,ubuntu,Mysql,Sql,Bash,Shell,Ubuntu,---问题出现的代码行 mysql -u root -p --execute="UPDATE mysql.tSub_SubJob SET Error_Description = '$errorMarkDown' WHERE sub_job_name='$line'" ---数据类型 $errorMarkDown长文本 --插入到表中的$errorMarkDown的值 2019/10/22 05:07:17 - Stored_orders - ERROR (version 7.0.0.0-25,

---问题出现的代码行

mysql -u root -p --execute="UPDATE mysql.tSub_SubJob SET Error_Description = '$errorMarkDown' WHERE sub_job_name='$line'"
---数据类型 $errorMarkDown长文本

--插入到表中的$errorMarkDown的值

2019/10/22 05:07:17 - Stored_orders - ERROR (version 7.0.0.0-25, build 1 from 2016-11-05 15.35.36 by buildguy) : (stderr) rm: cannot remove '/usr/local/Data_Files/hiveworx_shell_files/AWS_Stored_orders.csv.gz': No such file or directory
--错误

第1行出现错误1064(42000):SQL语法中有错误; 检查与MySQL服务器版本对应的手册,了解 在“”附近使用的正确语法:没有这样的文件或目录 第1行的sub_job_name='AWS_Shelfs_Details''


我要更新的长文本数据类型。。值太大。我不知道设置值时会出现什么问题。请使用空的
$errorMarkDown
变量重新测试。可能您必须转义
$errorMarkDown
的内容。顺便说一句,使用字符串粘贴总是一个坏主意SQL@jeb谢谢你的回复。还是犯了同样的错误。。当我在$errorMarkDown变量中设置简单字符串时。然后它就好了。但是当我想设置问题中提到的文本时,这个错误就出现了。我认为字符串太大和字符串中存在特殊字符的问题。您可以使用与当前变量长度相同但所有字符都设置为ex.
a
的字符串来测试这一点。或者更好,您可以使用bind参数@jeb是的,我做到了。它的工作很好,但当我设置上面的字符串蒙顿,然后给出错误。