我正在使用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
。那么如何将数据保存到数据库?
答案 0 :(得分:1)
您必须commit
插入内容。
con.commit()
如果不调用此方法,则自上次调用commit()以来所做的任何事情都不会从其他数据库连接中看到。如果您想知道为什么没有看到您写入数据库的数据,请检查您是否忘记调用此方法。