问题
UPDATE test set name='Substantiak\' where id='1'
(1064, "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 '1'' at line 3")
以上就是由于在字符串拼接时单引号被转义导致的问题。
# v1.0.0及以上
from pymysql.converters import escape_string
# v0.10.1及以下
from pymysql import escape_string
解决
1.如果是单双引号,不需要保留的情况下可以直接替换成空
a="I'm Thomas"
a.replace("'",'').replace('"','')
2.特殊字符或者斜杠
from pymysql import escape_string
a="I'm Thomas"
reg_a= escape_string(a)

文章讨论了在执行MySQL的UPDATE语句时遇到的语法错误,该错误由于字符串中的单引号被转义导致。提供了两种解决方案:1)如果不需要保留引号,可以直接替换为空;2)使用pymysql库的escape_string函数处理特殊字符。
1万+

被折叠的 条评论
为什么被折叠?



