我用python编写了下面的mysql语句,但其中一个值中有一个单引号,因此我得到以下错误:
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 L at line 1
要插入的值是regal inter'l
如何转义或更正mysql语句?
mysql语句
def query(self, item):
return "INSERT INTO income_statement({columns}) VALUES ({values})".format(
columns=', '.join(item.keys()),
values=self.item_to_text(item)
)
def item_to_text(self, item):
return ', '.join("'" + str(v) + "'" for v in item.values()
)
1条答案
按热度按时间a8jjtwal1#
返回字符串模板的元组和变量的元组,游标可以执行(template,(v1,v2,…)
基于api文档
编辑2:一个更完整的例子
编辑3:我很确定,如果你真的想把这个语句作为一个字符串来传递,你必须在字符串中有一个\ present,因此使用int\'l
编辑4: