SQLite不会保存数据?

时间:2014-08-11 11:09:20

标签: python sql sqlite

我正在使用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。那么如何将数据保存到数据库?

1 个答案:

答案 0 :(得分:1)

您必须commit插入内容。

con.commit()
  

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