-2

这是数据库中的数据,我用完了。

policy_id = ((2309L,), (118L,), (94L,))
for i in policy_id:
    print i

但我希望结果为:

p.policy_id in ('%s','%s','%s') %(i[0],i[1],i[2])
#i[0]=2309
#i[1]=118
#i[2]=94

我的英文不好,相比之前的问题没有得到我想要的,我是新手,请谅解。

4

1 回答 1

1

你得到了你想要的。有人告诉您,您可以从每个项目中获取第 0 个“子项目”。所以第零种方法可能是

c.execute("foo bar blub where p.policy_id in (%s,%s,%s)", (i[0][0], i[1][0], i[2][0]))

另一种方法可能是首先转换元组

ii = tuple(x[0] for x in i)
c.execute("foo bar blub where p.policy_id in (%s,%s,%s)", ii)

请注意,我还包括有关如何正确访问 MySQLdb 游标的信息。这不是通过字符串格式完成的,而是通过data参数 ofcursor.execute()来正确转义数据。

于 2012-05-11T11:38:08.460 回答