首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在python中使用sql查询来获取列表?

如何在python中使用sql查询来获取列表?
EN

Stack Overflow用户
提问于 2018-06-10 03:24:15
回答 2查看 607关注 0票数 0

我在这里定义了一个函数并进行了查询。

代码语言:javascript
复制
def fetch(temp_pass,temp_accno):
    cur.execute('''SELECT id, name, acc_no, ph_no,address, email,balance
               FROM accounts
               WHERE id = %s and acc_no = %s''',
            (str(temp_pass), str(temp_accno)));
    row = cur.fetchall()
    print(row[2])

该行中应该是一个长度为7列表,但是当我运行print(row2)时,它给出了列表索引超出范围的错误。

这是我得到的错误

代码语言:javascript
复制
File "Accounting.py", line 13, in fetch
    print(row[2])
IndexError: list index out of range
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-10 03:51:43

row = cur.fetchall()不会给出一行,而是给出一列行,所以row根本不是一行,row[2]是列表中的第三行,而不是一行中的第三个字段。如果只需要一行,请使用cur.fetchone()

注意,查询可能会返回几行,并且不清楚在这种情况下您想要做什么,所以我不在这里处理它。不管怎样,cur.fetchone()只会给你一行。

票数 0
EN

Stack Overflow用户

发布于 2018-06-10 03:31:59

row[2]返回行列表中的第三行。row[0][2]返回第一行的第三列。

您可以运行如下代码片段来可视化返回的内容:

代码语言:javascript
复制
cur.execute(...)
for row in cur:
    print(row)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50777751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档