我正在尝试将整数列表插入数据表的列中。如果我运行以下代码:
c.executemany("INSERT INTO my_datatable('Column 1') VALUES (?)", list_with_integers)
conn.commit()
我收到以下错误:
c.executemany("INSERT INTO my_datatable('Column 1') VALUES (?)", list_with_integers)
ValueError: parameters are of unsupported type
我不明白我在做什么错。我已经检查并确保列表中的所有元素都是整数,并且如果我尝试运行
c.executemany("INSERT INTO my_datatable('Column 1') VALUES (?)", [list_with_integers])
我得到:
c.executemany("INSERT INTO my_datatable('Column 1') VALUES (?)", [list_with_integers])
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 559 supplied.
问题:如何解决此问题并将整数列表插入列?
答案 0 :(得分:1)
executemany
方法的参数应该是一个元组序列,因此您应该将整数列表转换为一个1元组序列:
c.executemany("INSERT INTO my_datatable('Column 1') VALUES (?)", map(lambda i: (i,), list_with_integers))