2014-07-05 2 views
0

python을 통해 sql 문을 실행하려고합니다. 하지만이 작동하지 않습니다Python에서 변수가있는 Sql 문

또한
cursor.execute("UPDATE setting set foo=%s WHERE bar=%s", 4, str(sys.argv[1])) 

이 작동하지 않습니다

t = ("4",sys.argv[1]) 
cursor.execute('UPDATE setting set foo=? WHERE bar=?', t) 

하지만이 하나가 작동합니다

내가 잘못 뭐하는 거지
cursor.execute('UPDATE setting set foo=%s WHERE bar="something"', 3) 

?

cur.execute("insert into people values (?, ?)", (who, age)) 

또는 :

cur.execute("insert into people values (?, 100)", (who,)) 
+0

오류 메시지에 대한 자세한 내용이 있습니까? sys.argv [1]은 SQL에 삽입하기 전에 무엇이 동일합니까? –

답변

2

cursor.execute("UPDATE setting set foo=%s WHERE bar=%s", (4, str(sys.argv[1]))) 

인수를 실행 해보십시오

1

나는 하나만있는 경우에도, 튜플로 매개 변수를 전달할 필요가 있다고 생각 두 개 이상일 경우 튜플로 전달해야합니다.