【问题标题】:SQLite won't save data? [duplicate]SQLite 不会保存数据? [复制]
【发布时间】:2014-08-11 19:10:59
【问题描述】:

我正在使用 Python,我正在尝试使用 SQLite,但是当我执行命令时它永远不会保存到表中。

# SQLite
# -
con = sqlite3.connect("comment_data")
c = con.cursor()
c.execute("CREATE TABLE IF NOT EXISTS comments (id TEXT)")
def insert(id):
    c.execute("INSERT INTO comments VALUES ('%s')" % id)

def exists(id):
    c.execute("SELECT 1 FROM comments WHERE id = '%s'" % id)
    if c.fetchone() is None:
        return False
    else:
        return True

def commentCount():
    c.execute("SELECT * FROM comments")
    for row in c:
        print(row)

def close():
    c.close()
# -
#

当我执行insert("random") 并运行commentCount() 时,它会打印出来。但是,当我关闭 Python 应用程序并运行 commentCount() 时,它会打印出 None。那么如何将数据保存到数据库中呢?

【问题讨论】:

    标签: python sql sqlite


    【解决方案1】:

    您必须 commit 插入。

    con.commit()
    

    如果您不调用此方法,则自上次调用 commit() 以来所做的任何事情都不会从其他数据库连接中看到。如果你想知道为什么你没有看到你写入数据库的数据,请检查你没有忘记调用这个方法。

    【讨论】:

    • 哈哈谢谢,这么简单的解决方案...我已经查看了源代码,还没有找到这一行..
    猜你喜欢
    • 2013-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-27
    相关资源
    最近更新 更多