我正在尝试循环 MySQL 查询,但是我无法让该变量工作。我究竟做错了什么?循环从第 10 行开始。
cur = db.cursor()
query = '''
Select user_id, solution_id
From user_concepts
Where user_id IN
(Select user_id FROM fields);
'''
cur.execute(query)
numrows = cur.rowcount
for i in xrange(0,numrows):
row = cur.fetchone()
# find all item_oid where task_id = solution_id for first gallery and sort by influence.
cur.execute('''
SELECT task_id, item_oid, influence
FROM solution_oids
WHERE task_id = row[%d]
ORDER BY influence DESC;
''', (i))
cur.fetchall()
错误信息:
File "james_test.py", line 114, in ''', (i)) File "/usr/lib64/python2.7/site-packages/MySQLdb/cursors.py", line 187, in execute query = query % tuple([db.literal(item) for item in args]) TypeError: 'int' object is not iterable
最佳答案
cur.execute
期望参数有一个 tuple
o dict
但你给出了 (i)
这是一个int
不是一个元组
。要使其成为元组
,请添加逗号(i,)
关于python - 如何使用Python将变量传递到MySQLdb查询中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34218020/