使用 Python 处理 sql 时的撇号 (') 帮助
Posted
技术标签:
【中文标题】使用 Python 处理 sql 时的撇号 (\') 帮助【英文标题】:Apostrophe (') help when dealing with sql using Python使用 Python 处理 sql 时的撇号 (') 帮助 【发布时间】:2012-02-19 06:10:22 【问题描述】:我正在尝试读入内容并编写插入语句以使用 Python 创建一个 sql 脚本。
当我阅读的内容包含一个撇号时我遇到了一个问题,我不确定如何解决这个问题,因为我不能简单地将 (') 替换为我正在处理的任何其他字符使用 asciimathml(数学数据),我不能只更改已阅读的内容。
非常感谢!
【问题讨论】:
如果撇号对您来说是个问题,那么您还没有转义您的数据(在将其用作 SQL 查询的一部分之前您必须这样做)。请参阅xkcd.com/327 以获取输入字符串的示例,该示例特别...有趣...让您处理未转义。 快速搜索“python sql 参数”找到了this question - 如果不合适(使用不同的 sql 库?),然后进行搜索,包括库的名称和单词“参数”/ 【参考方案1】:您可以使用其中一个 escape_string 函数(每个 db 包都提供一个)将单引号加倍或在其前面加上反斜杠。但是如果你使用参数替换,你会好得多。例如:
cursor.execute("INSERT INTO Test (column1, column2) VALUES (?, ?)", "It's all right", 45)
这样做,服务器将确保您的字符串正确转义。
【讨论】:
以上是关于使用 Python 处理 sql 时的撇号 (') 帮助的主要内容,如果未能解决你的问题,请参考以下文章