程序结束后数据库不保留
我使用 SQLAlchemy 创建了一个简单的数据库。当我通过引擎连接到它,定义表和类,然后创建一个用户后,它会很好地输出用户。当程序结束并且我尝试通过 Python 提示符访问数据库(导入 SQLAlchemy、创建新引擎等)时,以前的用户就消失了。
有人可以解释一下这里发生了什么,以及之前设置的 .db 文件中有什么(如果有的话)?
I've created a simple DB using SQLAlchemy. After I connect to it via the engine, define the tables and classes, then create a User, it outputs the user fine. When the program ends and I try accessing the DB via the Python prompt (importing SQLAlchemy, creating a new engine, etc.) the previous users are gone.
Can someone explain what is happening here, and what (if anything) is in the previously set-up .db file?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您是否在释放连接之前调用 .commit() ?
默认情况下,Python SQLite 模块不使用 AUTOCOMMIT 模式,除非您使用 DDL 语句完成会话,否则它将回滚。
有关更多信息: http://docs.python.org/library/sqlite3.html #控制交易。
Are you calling .commit() on the connection before releasing it?
By default the Python SQLite module does not use AUTOCOMMIT mode and, unless you finish your session with a DDL statement, it will be rolled back.
For more info: http://docs.python.org/library/sqlite3.html#controlling-transactions.