MySQL Select,从元组到列表

希望我能正确地解释这一点。我正在尝试接受一条MySQL SELECT语句,将输出放入一个列表中,然后将该列表上传回MySQL服务器。

选择 | 换行 | 行号
  1. cursor.execute("SELECT stuff FROM place WHERE thing = 3 ORDER BY track_id ASC")

这会产生一个整数元组。
((1L,),(2L,),(3L,),(4L,),(5L,),(6L,),(7L,),(8L,),(9L,),(10L,),(11L,))
..。每个字母后面都有一个'L'。
但我想用以下设置更新数据库:
1、2、3、4、5、6、7、8、9、10、11
起初,我以为我知道了,但转换后的每一行元组都是一样的,即使实际提取的数据发生了变化。有谁知道怎么做吗?

# 回答1


听起来像是要将包含长整型的元组转换成整型?

选择 | 换行 | 行号
  1. for t in ((1L,), (2L,), (3L,), (4L,), (5L,), (6L,), (7L,), (8L,), (9L,), (10L,), (11L,)):
  2.     print int(t[0])
# 回答2


格伦顿,谢谢你的回复。实际上,我拿到的是不带L的名单。但这只是事情的一半。我需要将这些数字转储回一个列表,并将该列表插入MySQL数据库。
我认为在这一点上,PHP将提供比Python更好的解决方案。
# 回答3


实际上,是我自己想出来的.

选择 | 换行 | 行号
  1. for n in range(0,75):
  2.   cursor.execute("SELECT row FROM table WHERE column = %s ORDER BY column ASC", (n))
  3.   result = cursor.fetchall()
  4.   List = list()
  5.   for t in result:
  6.     List.append(int(t[0]))
  7.   List = ",".join(map(str,List))
  8.   ListUpdate = cursor.execute("UPDATE table SET column = %s WHERE column = %s", (str(List),n))
  9.  

这将把MySQL中的SELECT语句作为元组,将其格式化为不带L或圆括号的列表,然后使用该列表更新MySQL。

标签: python

添加新评论