我试图使用 executemany 将值插入数据库,但它对我不起作用。这是一个示例:
clist = []
clist.append("abc")
clist.append("def")
clist.append("ghi")
cursor.executemany("INSERT INTO myTable(data) values (?) ", clist)
这给了我以下错误:
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 3 supplied.
但是,当我更改列表时,它工作正常:
clist = ["a", "b"]
cursor.executemany("INSERT INTO myTable(data) values (?) ", clist)
它按预期工作!我可以看到数据库中的数据。为什么第一个列表不起作用而第二个列表起作用?
(PS:这只是一个示例而不是实际代码。为简单起见,我做了一个小测试用例)。