7

在这里,我有一些简单的 python 代码来查询 sqlite3 数据库。

import sqlite3 as lite

conn = lite.connect('db/posts.db')
cur = conn.cursor()

def get_posts():
    cur.execute("SELECT * FROM Posts")
    print(cur.fetchall())

get_posts()

我已经创建了表Posts。当我运行它时,我没有收到任何错误,它只是打印出[]. 我知道表 Posts 不是空的,我在 REPL 中创建了它。为什么这不起作用?

任何帮助表示赞赏!

4

2 回答 2

9

原来我只是忘记使用conn.commit(). 希望这可以帮助某人。

于 2013-06-10T02:23:07.873 回答
9

使用上下文管理器,因此您不必提交!

def get_posts():
    with conn:
        cur.execute("SELECT * FROM Posts")
        print(cur.fetchall())
于 2017-08-27T18:53:59.263 回答