python - 删除后无法使用 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 上,查询返回了预期的结果,并且删除返回了正确的行数。我什至尝试在提交之前/之后显式刷新。
我究竟做错了什么?
解决方案
根据我的评论,
在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)])
推荐阅读
- javascript - 如何等到使用javascript在脚本src标签内加载函数
- javascript - 自定义元素和传单和标记未对齐
- jquery - JQuery 未设置 Rails 5.2 hidden_field 值
- android-studio - 获取默认的 Android Studio 主题
- django - Django storage S3 - 仅使用 ModelSerializer 保存没有文件的文件路径
- c# - 进度条完成加载后,从单元测试项目访问 WPF 项目的 UI 控件
- javascript - 在部署到 Heroku 期间获取传播运算符语法错误
- reactjs - 从 react 使用 graphql 端点
- android - 无法从使用 push 方法保存的 geofire 中检索多个位置
- file - 从文件中取出数字并放入 Vec
但不断出错