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 个回答
1
你必须要commit
插入的数据。
con.commit()
如果你不调用这个方法,那么自从上一次调用commit()以来你所做的任何操作,其他数据库连接是看不到的。如果你发现自己写入数据库的数据没有显示出来,请检查一下你是否忘记调用这个方法。