在SQL语句中格式化单引号

时间:2012-10-16 08:45:19

标签: python

我的问题很简单,在Python中,如何格式化包含单引号的SQL语句?

我有一个地名

"Musee d'Orsay"

我想要的是

"Musee d\'Orsay"

所以,我尝试使用以下语句替换单引号

str.replace("'","\'")

但是,它返回原始字符串。你能给我任何帮助吗?

双斜线运作良好。

str.replace("'","\\'")

<小时/> 好的,谢谢你的回复。我已经弄清楚了。

我必须通过加倍单引号来逃避它。

  

str.replace( “'”, “ '”')

     

INSERT INTO table_name VALUES(Musee d''Orsay);

它对我有用。

1 个答案:

答案 0 :(得分:6)

你不应该通过准备进入它的字符串来创建sql查询:你应该使用占位符并让库为你做逃逸工作。

根据您使用的数据库,确切的语法可能会发生变化。例如,在sqlite中:

m = "Musée d'Orsay"
cursor.execute('SELECT * FROM table WHERE museum=?', m)