2016-08-04 4 views
0

: 데이터베이스의내가 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 변수를 그림자가있다

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

답변

2

내 코드입니다. 그것은 더 이상 열린 커서를 참조하지 않습니다

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

의미있는 변수 이름을 가지고있는 많은 이유 중 하나입니다.

enter image description here

을 :

cursor = conn.cursor() 

이 또한주의 PyCharm 같은 현대 십오 초 이러한 오류를 잡는 능력이 있다는 : 나는 당신이 cursor로 커서를 명명 된 경우이 오류를 만들었을 것입니다 의심

+0

@ 고맙습니다. – Mary