2016-08-04 49 views
0

我會從以下列表到SQLite的列中插入的信息:數據庫的如何插入幾個列表到sqlite的列

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

列AA應該在列表中的信息,列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' 

回答

2

你遮擋的c變量。它不是指在打開的遊標了:

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

這其中的原因有很多有有意義的變量名之一。我懷疑,如果你命名的光標作爲cursor你會作出這樣的錯誤:

cursor = conn.cursor() 

還要注意,像PyCharm的現代IDE能夠捕獲這些錯誤初:

enter image description here

+0

@非常感謝你alecxe – Mary