来自一个学习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, ))