【问题标题】: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 库?),然后进行搜索,包括库的名称和单词“参数”/

标签: python sql apostrophe


【解决方案1】:

您可以使用其中一个 escape_string 函数(每个 db 包都提供一个)将单引号加倍或在其前面加上反斜杠。但是如果你使用参数替换,你会好得多。例如:

cursor.execute("INSERT INTO Test (column1, column2) VALUES (?, ?)", "It's all right", 45)

这样做,服务器将确保您的字符串正确转义。

【讨论】:

    猜你喜欢
    • 2020-03-10
    • 1970-01-01
    • 2015-12-02
    • 1970-01-01
    • 1970-01-01
    • 2019-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多