首页 > 解决方案 > 删除后无法使用 MySQL/InnoDB 提交?

问题描述

我正在使用带有 sqlalchemy的 sqlservice 来连接 MySQL 数据库,除了删除和提交之外,我可以做我需要的一切。我已经打开了 SQL_ECHO 并且我看到了 DELETE 但从未进行过 COMMIT(即使是明确地这样做)。

例子:

db.Table.filter_by(item_id=item_id).delete()
db.commit()

我能找到的最接近的相关问题是:SQLAlchemy delete() function flushes, but does not commit, even after calling commit()

我已经验证了删除是在正确的 id 上,查询返回了预期的结果,并且删除返回了正确的行数。我什至尝试在提交之前/之后显式刷新。

我究竟做错了什么?

标签: pythonsqlalchemy

解决方案


根据我的评论,

https://pypi.org/project/sqlservice/的快速入门部分下:

Destroy the model record:
db.User.destroy(user)
# OR db.User.destroy([user])
# OR db.User.destroy(user.id)
# OR db.User.destroy([user.id])
# OR db.User.destroy(dict(user))
# OR db.User.destroy([dict(user)])

推荐阅读