【问题标题】:Inserting text having single quote in sqlite database [duplicate]在sqlite数据库中插入具有单引号的文本[重复]
【发布时间】:2016-04-22 12:02:52
【问题描述】:

我正在尝试在 python 中将数据插入到 sqlite 数据库中。现在当我的变量中有一个单引号时

data = "This is my apple's seed."
cursor.execute("insert into tableName (ColName) values ('%s')" %data)

它给出这样的错误:

sqlite3.OperationalError:靠近“s”:语法错误

我知道出现这个问题是因为我没有正确转义字符。我该怎么做?

【问题讨论】:

    标签: python python-2.7 sqlite


    【解决方案1】:

    使用这个:

    cursor.execute("insert into tableName (ColName) values (?)", (data,))
    

    Docs 鼓励使用 DB-API 的参数替换。来自docs

    使用 DB-API 的参数替换。将? 作为占位符 无论你想在哪里使用一个值,然后提供一个值的元组 作为光标execute() 方法的第二个参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-13
      • 2013-02-10
      • 2012-01-01
      • 2016-03-04
      • 2017-11-09
      • 1970-01-01
      相关资源
      最近更新 更多