技术栈

ordered_values

ynchyong
2 小时前
python·sqlalchemy·update·values·ordered_values
SQLAlchemy 更新操作:values() 与 ordered_values() 的隐藏差异摘要:SQLAlchemy 的 values() 与 ordered_values() 在普通更新时表现一致,但当某一列需要引用另一列的当前值时,两者生成的 SQL 在 SET 子句字段顺序上存在隐藏差异。values() 内部会按列名排序,无法控制顺序;而 ordered_values() 严格保留传入顺序。若列间存在相互引用,必须使用 ordered_values() 才能保证求值顺序正确,否则可能得到错误结果。
我是有底线的