按列名插入 SQLite table?

Insert into SQLite table by column name?

有没有办法传递一个列表,例如

PersNr_List = ['00001', '00002','00003']

进入 SQLite table 的第一列,在本例中称为 '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)

即使您 正在 插入所有列,这也是一个好主意,因为它 error-prone 取决于列的顺序。