程序退出时删除MySQL行

Chr*_*ris 2 python mysql mysql-python

我正在使用Python和MySQLdb向我的数据库添加行.似乎当我的脚本退出时,行将被删除.脚本退出之前的最后一行在表格上执行"select*",显示我的一行.当我重新运行脚本时,第一行(打开连接后)执行相同的"select*"并返回零结果.我真的很茫然.我已经工作了大约2个小时,并且无法理解可以访问我的数据库的内容.

此外,在运行脚本之间,我从终端手动运行"select*",结果为零.

如果我从终端手动添加一行,它似乎持续.

插入行的查询:

cursor.execute("INSERT INTO sessions(username, id, ip) VALUES (%s, %s, %s)", (username, SessionID, IP]))
Run Code Online (Sandbox Code Playgroud)

我用来检查数据的查询:

cursor.execute("select * from sessions")
print cursor.fetchall()
Run Code Online (Sandbox Code Playgroud)

这显示程序退出之前的行,然后在程序再次运行时不显示任何内容.

在此先感谢所有的帮助.

Web*_*bie 5

在执行查询后,您似乎需要cursor.commit()您的更改.

http://docs.python.org/library/sqlite3.html

Connection.commit():此方法提交当前事务.如果不调用此方法,则自上次调用commit()以来所执行的任何操作都不会从其他数据库连接中看到.如果您想知道为什么没有看到您写入数据库的数据,请检查您是否忘记调用此方法.