日期:2014-05-16  浏览次数:20727 次

如何update一个表中的多个列?
比如有一张表有两个字段,一个是ID代表帐号,另一个是coin代表金币。
现在有A,B两个帐号,如何用一条update语句实现减去A的金币的同时将这些金币加到B的帐号上。

update f set a = x where ... , set b = y where ..好像不是正确的语句

------解决方案--------------------
这个是不能写成一条sql的,可以通过事务保持数据一致性
------解决方案--------------------
我只想说一句,在mysql当中,可以一次发送多条sql语句给server端。所以,你安全可以prepare多条sql语句给server端。试试吧。

mysql> update t1 set id=123 where id<1; update t1 set id=234 where id>100;
Query OK, 0 rows affected (0.01 sec)
Rows matched: 0 Changed: 0 Warnings: 0

Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0

------解决方案--------------------
好像不能这样操作吧。
------解决方案--------------------
引用update f set a = x where ... , set b = y where ..好像不是正确的语句