我收到了这段代码:
cursor.execute('SELECT nom FROM productes WHERE listacompra = 1')
rows = cursor.fetchall()
for row in rows:
print(row[0])
我希望将它返回到某些变量中。我怎么能这样做?
修改
我想我没有正确解释自己。我想要的是两个变量具有相同列的两个值,而不是同一行。例如:
有两行:
id 1,nom Natillas,listacompra 1
id 2,nom Chocolate,listacompra 1
我希望有两个(或更多)变量,以便使用" Natillas"和其他一个"巧克力"。
由于
答案 0 :(得分:0)
cursor.execute('SELECT nom FROM productes WHERE listacompra = 1')
rows = cursor.fetchall()
var1 = row[0][0] # or row['nom'] if you are fetching as dict
var2 = row[1][0]
显然,要使其工作,您必须确保查询至少返回两行。
迭代器将返回一个表示查询中指定的行的元组。例如,对于查询SELECT id, password FROM users
,变量row
将在第一个位置包含id
值,在第二个位置包含password
。
例如:
for row in rows:
id = row[0]
pwd = row[1]
或者更巧合:
for row in rows:
id, pwd = row
除非在定义连接时指定选项cursorclass=pymysql.cursors.DictCursor
,否则它将返回字典:
for row in rows:
id = row['id']
pwd = row['password']
答案 1 :(得分:-1)
rows = cursor.fetchall()
for row in rows:
print(row['<key of table field>'])