我正在尝试创建一个代码段,该代码段将我创建的用于以特定方式存储数据的对象作为Blob类型插入到SQL表中,并且一直给我一个'sqlite3.InterfaceError:错误绑定参数1-可能是不受支持的类型。”错误。 你们有没有遇到过类似的事情?您有什么想法如何处理吗?
conn = sqlite3.connect('my_database.db')
c = conn.cursor()
params = (self.question_id, i) #i is the object in question
c.execute('''
INSERT INTO '''+self.current_test_name+''' VALUES (?, ?)
''',params)
conn.commit()
conn.close()
答案 0 :(得分:0)
对于初学者来说,这将是更合适的execute语句,因为它更干净:
c.execute("INSERT INTO "+self.current_test_name+" VALUES (?, ?)", (self.question_id, i))
您还缺少要插入的表(如果表名是self.current_test_name
,则缺少列。)
另外,数据库设置中的该列是否处理self.question_id
和i
所提供输入的数据类型? (当您提供TEXT
时不期望INT
吗?)
要插入到具有名为test
和test2
的2列的表中的工作脚本示例:
import sqlite3
conn = sqlite3.connect('my_database.db')
c = conn.cursor()
c.execute("CREATE TABLE IF NOT EXISTS test(test INT, test2 INT)")
conn.commit()
for i in range(10):
params = (i, i) # i is the object in question
c.execute("INSERT INTO test (test, test2) VALUES (?, ?)", params)
conn.commit()
conn.close()