2014-09-08 3 views
0

저는 매개 변수를 통해 채울 수있는 쿼리를 동적으로 빌드하고자합니다. 예 : 뭔가 같은 :Python 동적 매개 변수화 된 쿼리

INSERT INTO Table (Col1, Col2, Col3, ...) VALUES (%s, %s, %s, ...) 

How to put parameterized sql query into variable and then execute in Python?에 표시된 것처럼 그리고 나는 그것을 채우려 :

sql = "INSERT INTO table VALUES (%s, %s, %s)" 
args= var1, var2, var3 
cursor.execute(sql, args) 

꽤 쉽게해야 위의 쿼리 문자열을 구축, 그러나 나는 목록을 작성하는 방법을 잘 모르겠어요 args의. 일단 내가 할 수 있으면 나머지는 쉬워야한다.

답변

0

내 질문이 내 생각보다 쉬웠는데, 배열이 파이썬의 목록처럼 작동하는 것처럼 보입니다. 내 인수 목록을 만들기 위해 위를 사용할 수 있습니다

results = [] 

results.append("a") 
results.append("b") 
results.append("c") 
results.append("d") 

print results 

: 다음은 내가 필요한 걸했다.

0

나는 일반적으로 당신이 무엇을 설명 달성하기 위해이 같은 것을 사용 :

>>> def prepquery(qrystr, args): 
... # Assumes Qry Str has a %s in it instead of column placeholders. 
... return qrystr % ', '.join('?' * len(args)) # ['%s'] * len(args), depending on DB. 
... 
>>> 
>>> prepquery('Insert Into Table Values (%s)', range(5)) 
'Insert Into Table Values (?, ?, ?, ?, ?)' 
관련 문제