有没有办法传递之类的列表
PersNr_List = ['00001', '00002','00003']
插入SQLite表的第一列,在本例中称为"PersNr"?我可以从列中进行SELECT,但也可以传递到特定列中吗?
如果这让人困惑,我很抱歉。现在我只想实现这个:
PersNr columnName1 columnName2 .....
00001
00002
00003
00004
我尝试过循环,但无法使其工作:
PersNr_List = ['00001', '00002','00003']
for x in PersNr_List:
cursor.executemany('INSERT INTO payroll_details VALUES (?)', PersNr_List)
非常感谢您的帮助!
您需要使persnNr_List
成为一个列表列表。每个嵌套列表都是一行的值列表,即使您只插入到一列中也是如此。
PersNr_List = [['00001'], ['00002'],['00003']]
当您使用executemany()
时,您不需要循环,它会自动一次插入所有循环。
如果没有插入所有列,则必须在查询中指定列名。
cursor.executemany('INSERT INTO payroll_details (PersNr) VALUES (?)', PersNr_List)
即使正在插入所有列,这也是一个好主意,因为它很容易出错,这取决于列的顺序。