错误信息
pymysql.err.ProgrammingError: (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 ‘s Sports Apparel’’ at line 1”)
代码
sql = """select * from %s where sci_au='%s' AND sci_ti='%s'""" \
% (MySQL_table_name, sci_au, sci_ti)
print("sql = ", sql)
self.cursor.execute(sql)
原因
这是因为sci_ti中的内容有单引号(’),与代码中的’%s’冲突。改成“%s”也出现此类问题。
解决办法
修改sci_ti里面的内容,把含有单引号(’)的内容替换成其他字符(如#)
sql = """select * from %s where sci_au='%s' AND sci_ti='%s'""" \
% (MySQL_table_name, sci_au.replace("'", "#"),
sci_ti.replace("'", "#"))
print("sql = ", sql)
self.cursor.execute(sql)
本文解决了一个常见的SQL语法错误,即在使用pymysql时因字符串中包含单引号而导致的编程错误。通过替换字符串中的冲突字符,成功避免了SQL语法错误,确保了数据库查询的正确执行。
7930

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



