小编希德尼*_*的骑士的帖子

在 mssql 上更新记录时,SqlAlchemy StaleDataError 返回 -1

我用来flask-sqlalchemy更新mssql记录,但它返回-1。

库版本:

  1. SQLAlchemy 1.3.11
  2. Flask-SQLAlchemy 2.4.1
  3. pyodbc 4.0.27
  4. 烧瓶1.1.1

代码第 1 部分:

ret = db.session.query(XXX).filter_by(id=1).update({"xxx": "xxxx"})
print("ret", ret)
db.session.commit()
Run Code Online (Sandbox Code Playgroud)

ret-1,但记录已被修改。

代码第 2 部分:

obj = XXX.query.filter_by(id=q).first()
obj .xx = "xxx"
db.session.commit()
Run Code Online (Sandbox Code Playgroud)

引发错误:

sqlalchemy.orm.exc.StaleDataError: UPDATE statement on table 'XXX' expected to update 1 row(s); -1 were matched.
Run Code Online (Sandbox Code Playgroud)

而且修改没有成功。

sql-server sqlalchemy rowcount

5
推荐指数
1
解决办法
352
查看次数

标签 统计

rowcount ×1

sql-server ×1

sqlalchemy ×1