我正在尝试在sqlite3中获取用户名的rowid,我已经掌握了它的基础知识,但是当我运行它时,我会得到类似'sqlite3'的东西。光标对象位于 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)
你到了光标执行该查询的地步,但随后你需要告诉它从中返回什么。返回与该查询的第一个匹配项?返回每条记录?根据需要获取数据。您可以使用fetchone(),fetchall()或许多其他方法来获取它。
if username in names:
c.execute("SELECT rowid, * FROM stuffToPlot WHERE username = (username)")
rowid = c.fetchone()
print(rowid)