【发布时间】:2013-04-24 13:51:58
【问题描述】:
我知道这行得通,但这是一种好的做法吗?
update test set field1=field1+field2, field2=0;
在将值添加到 field1 总数之前,我不希望将 field2 设置为 0。这会一直按计划进行吗?
【问题讨论】:
-
我认为它没有理由不工作,因为语句的
set部分是从左到右评估的......但为了确定,我会将它分成两部分 @ 987654326@ 语句并尽可能将它们放入事务中(仅在两次更新都成功后提交) -
这将按预期工作-假设我没看错的话。您可能需要添加
WHERE field2 != 0,这样它就不会擦除任何以前修改过的条目。
标签: mysql