以下是我尝试过的所有不同内容:
query = db.session.query(Table1)
query = query.filter(Table1.id == '12345')
record = query.one()
record.trackingId = 'UPSTXNID1'
db.session.flush()
sqlalchemy.update(Table1)\
.values({Table1.trackingId: 'UPSTXNID1'})\
.where(Table1.id == '12345)
session.query(Table1)\
.filter(Table1.id == '12345')\
.update({Table1.trackingId: 'UPSTXNID1'})
session.commit()
db.engine.execute(
"UPDATE Table1 SET trackingId=:trackingId WHERE id=:id",
{'id': '12345', 'trackingId': 'UPSTXNID1'}
)
所有这些都不会抛出任何错误,但trackingId列不会更新值。
答案 0 :(得分:0)
在我调用执行后,第二个的一个小变化工作。
stmt = sqlalchemy.update(Table1).\
values(trackingId = 'UPSTXNID1').\
where(Table1.id == '12345')
db.engine.execute(stmt)
# If you want to see the underlying SQL statement that is created
print str(stmt.compile(dialect=sqlalchemy.dialects.mysql.dialect()))