如何在数据库sqlite3中获取单词的rowid?

时间:2017-10-29 22:52:55

标签: python sqlite rowid

我正在尝试在sqlite3中获取用户名的rowid,我已经掌握了它的基础知识但是当我运行它时,我会得到像'sqlite3.Cursor对象在0x03885660'那样的东西,每当我运行它时它就会改变相同的用户名。我知道这是因为我打印了rowid,但我找不到另一种方式。

这是我的代码:

def sign_in():
    username = input("What is your username?")
    password = input("What is your password?")
    c.execute("SELECT username FROM stuffToPlot")
    names = {name[0] for name in c.fetchall()} 
    if username in names:
        rowid = c.execute("SELECT rowid, * FROM stuffToPlot WHERE username = (username)")
        print(rowid)

1 个答案:

答案 0 :(得分:0)

你到了光标执行该查询的程度,但是你需要告诉它从它返回什么。返回该查询的第一个匹配项?返回每条记录?根据您的需要获取数据。您可以使用fetchone()fetchall()或许多其他方式来获取它。

if username in names:
    c.execute("SELECT rowid, * FROM stuffToPlot WHERE username = (username)")
    rowid = c.fetchone()
    print(rowid)