如何使用MySQL executemany更新Python中的列表列表?

时间:2012-05-10 16:14:02

标签: python mysql list executemany

我有一个列表清单:myList = [[123, 345], [23, 45], [54, 34]]

我想做这样的事情:

cursor.executemany("update tablename set flag = 'yes' where id = %s and officeid = %s", myList)

我搜索了这个并找不到解决方案。如果永远不会实现,那么什么是更好的更新语句而不必遍历列表中的所有元素?

2 个答案:

答案 0 :(得分:1)

update tablename set flag = 'yes' 
WHERE (id,officeid) IN ((123,345), (23,45), (54,34));

答案 1 :(得分:1)

myTuples = tuple(map(tuple, myList))

cursor.execute("update tablename set flag = 'yes' \
where (id, officeid) in " + str(myTuples))