如何将多个列表插入到 sqlite 列中

How to insert several lists into sqlite column

我要将以下列表中的信息插入到 sqlite 列中:

a = [1, 2, 3]
b = ['MAR', 'PAR', 'ZAR']
c = [1000, 2000, 3000]

数据库的 AA 列应包含列表 a 中的信息,列 BB 应包含列表 b 中的信息,列 CC 应包含列表 c 中的信息。

这是我的代码:

import sqlite3
conn= sqlite3.connect('test.db') 
c = conn.cursor()

def create_table ():     
    c.execute ('CREATE TABLE IF NOT EXISTS test (AA INT, BB TEXT, CC INT)')
    print ("table was created")

create_table ()

a = [1, 2, 3]
b = ['MAR', 'PAR', 'ZAR']
c= [1000, 2000, 3000]

for i in range (len (a)):
    I= a[i]
    II= b[i]
    III= c[i]
    c.execute  ("INSERT INTO TEST (AA, BB, CC) VALUES  (?,?,?) ", I, II, III )

错误是这样的:

c.execute  ("INSERT INTO TEST (AA, BB, CC) VALUES  (?,?,?) ", I, II, III )
AttributeError: 'list' object has no attribute 'execute'

您已经隐藏了 c 变量。它不再引用打开的游标:

c = conn.cursor()
# ...
c = [1000, 2000, 3000]

这是拥有有意义的变量名的众多原因之一。如果您将光标命名为 cursor:

,我怀疑您是否会犯此错误
cursor = conn.cursor()

另请注意,像 PyCharm 这样的现代 IDE 能够及早发现这些错误: