在SQLite数据库中插入double

时间:2010-12-27 21:20:48

标签: sqlite

我有一些文本需要放在sqlite数据库中。我不知道如何使sqlite接受文本中的双减号,因为sqlite将其视为注释。

我该怎么办?

2 个答案:

答案 0 :(得分:2)

您确定要将字符串放入引号吗? 像这样:

insert into table1 ('Text -- with -- double minus')

修改

对于多行字符串,请尝试以下操作:

insert into table1 ('Text' + char(13) + char(10) + '-- with double minus')

答案 1 :(得分:2)

您不应将文本直接放在SQL INSERT语句中; it causes problems如果你不小心的话。

首选方法是使用参数化查询。这样你就不需要处理转义字符串了。

在C API中,使用sqlite3_bind_*系列函数。

在Python sqlite3模块中,将参数作为单独的参数传递给execute

>>> import sqlite3
>>> db = sqlite3.connect(':memory:')
>>> db.execute("CREATE TABLE Table1 (A TEXT, B TEXT)")
<sqlite3.Cursor object at 0xe2fa80>
>>> dbl_minus = 'Text -- with -- double minus'
>>> multiline = 'Text\nwith\nline\nbreaks'
>>> db.execute("INSERT INTO Table1 VALUES (?, ?)", (dbl_minus, multiline))
<sqlite3.Cursor object at 0xe2fb30>
>>> db.execute("SELECT * FROM Table1").fetchall()
[('Text -- with -- double minus', 'Text\nwith\nline\nbreaks')]