程序结束后数据库不保留

发布于 2024-12-04 20:12:13 字数 184 浏览 1 评论 0原文

我使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

So尛奶瓶 2024-12-11 20:12:13

您是否在释放连接之前调用 .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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文