当我的表不为空时,为什么我的查询不返回任何行?

问题描述 投票:0回答:2

我查询 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
。我没有收到任何错误,它只是打印
[]
。该表不是空的,我在 REPL 中创建了它。为什么这不起作用?

python sqlite
2个回答
12
投票

使用上下文管理器,这样你就不必提交!

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

10
投票

原来我只是忘记使用

conn.commit()
。希望这对某人有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.