如何在SQL UPDATE语句中使用双引号?
SQL语法错误ERROR 1064 (42000) 修复方案
你执行的SQL命令:
update employees set text_data="[Demo-Data value="mddhak"]";
触发错误:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server
错误原因
语句里的字符串嵌套了未转义的双引号,MySQL会把value=后的双引号识别为字符串的结束标记,导致后续的mddhak"]"成为无效语法,触发语法错误。
解决方法
有两种可行的修复方式:
方式一:单引号包裹外层字符串
MySQL允许单、双引号混合使用字符串,只要外层和内层引号类型不同,内部引号无需转义,写法更简洁:update employees set text_data='[Demo-Data value="mddhak"]';方式二:转义内部双引号
若坚持使用双引号包裹外层字符串,需要用反斜杠\转义内部的双引号,告诉MySQL这是字符串的一部分而非结束标记:update employees set text_data="[Demo-Data value=\"mddhak\"]";
内容的提问来源于stack exchange,提问作者Mayuresh Deshmukh
相关产品推荐
相关产品推荐

