fetchone只返回我表中的最后一项



来自一个学习python和sqlite的noob的问题。

我创建了Phrase表,其中包含50个项目(id,Phrase(。

我想依次恢复表中的每一行,并使用这些数据进行进一步处理。即从第1行恢复(1,短语1(并处理,然后从第2行恢复(2,短语2(并处理等。

当我运行代码时,我只得到表中的最后一项。

cur.execute('SELECT id FROM Phrase WHERE phrase = ? ', (phrase, ))
phrase_id = cur.fetchone()[0]
print(phrase_id, phrase)

输出

50 leadership

(其中分别是索引和短语50(

我做错了什么?为什么不返回第一行?关于如何调整代码以依次循环所有行的建议?

如果希望输出按特定顺序,则必须使用ORDER BY来指定所需的顺序。

cur.execute('SELECT id FROM Phrase WHERE phrase = ? ORDER BY id', (phrase, ))

最新更新