如何一次更新2个mysql行?
您可以创建存储过程,其将处理这个2次的更新,并与交易
如果$ 100从“A”到“B”走出这将是明智的包起来,做如下。这有点丑陋,但它是可能的。两个sql语句可能更干净。接下来的家伙继承,你的代码会想知道为什么你这样做...... :)
update account
set value = value + if(user='a', -100, 100)
where user in ('a', 'b');
感谢您的帮助。 – phpabuse 2011-04-02 02:27:06
+1。我碰到过一个不错的方式! :-) – SuperSaiyan 2011-04-02 02:50:56
假设你有一个合理的新的MySQL版本(5.xi认为),你不使用MyISAM的, Transactions是你需要的。
事务基本上将多个sql语句组合在一起,然后允许您一次全部提交它们。如果任何语句引发错误,则事务将回滚。
交易成功或完全失败,所以在扣成功,但在入失败,你不能碰到的问题。
据我所知,MySQL的4.x版和MyISAM不支持事务,所以需要的MySQL 5.x和InnoDB的,但我不知道什么是当前的缺省数据库引擎MySQL使用。
谢谢你。 – phpabuse 2011-04-02 02:33:42
谢谢,我会杰福早上看这件事! – phpabuse 2011-04-02 02:19:50
+1对于交易。汇款问题是交易的经典教科书场景 – Chris 2011-04-02 02:27:49