如何在sqlite中插入带管道符号的字符串

时间:2013-03-28 20:16:20

标签: python sqlite

我正在使用sqlite3,但我遇到了一些问题,因为我需要添加包含|符号的字符串

我有一个只有一列的表,我这样做:

s.execute('INSERT INTO mytable (col_name) VALUES (?);',"a|b")

但结果我得到了这个:

ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 3 supplied.

我也试过引用,如下:

s.execute('INSERT INTO mytable (col_name) VALUES (?);',"'a|b'")

错误有点不同但仍无效

ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 5 supplied.

我怎样才能说服sqlite3接受我的字符串作为单个字符串?

1 个答案:

答案 0 :(得分:3)

参数参数必须是序列,因此请在此处使用元组:

s.execute('INSERT INTO mytable (col_name) VALUES (?);', ("a|b",))

这与管道符号btw无关,但是所有字符串都是序列的事实。 3个字符的字符串是3个元素的序列。