Php 如何一次更新2行mysql?
例如,用户a给用户b 100美元Php 如何一次更新2行mysql?,php,mysql,Php,Mysql,例如,用户a给用户b 100美元 我是否需要执行单独的查询来更新每个用户的$,或者我可以一次完成吗?您可以创建存储过程来处理这两个更新,并用明智的事务将其打包您可以创建存储过程来处理这两个更新,并用明智的事务将其打包如果$100从“a”变为“b”,请执行以下操作。这有点难看,但这是可能的。两条sql语句可能要干净得多。下一个继承你代码的人会想知道你为什么这么做…:) 如果100美元从“a”变为“b”,请执行以下操作。这有点难看,但这是可能的。两条sql语句可能要干净得多。下一个继承你代码的人会想
我是否需要执行单独的查询来更新每个用户的$,或者我可以一次完成吗?您可以创建存储过程来处理这两个更新,并用明智的事务将其打包您可以创建存储过程来处理这两个更新,并用明智的事务将其打包如果$100从“a”变为“b”,请执行以下操作。这有点难看,但这是可能的。两条sql语句可能要干净得多。下一个继承你代码的人会想知道你为什么这么做…:) 如果100美元从“a”变为“b”,请执行以下操作。这有点难看,但这是可能的。两条sql语句可能要干净得多。下一个继承你代码的人会想知道你为什么这么做…:)
假设您有一个相当新的MySQL版本(我想是5.x),并且没有使用MyISAM,这就是您需要的 事务基本上是将多个sql语句组合在一起,然后允许您一次性提交它们。如果任何语句抛出错误,事务将回滚 交易要么成功,要么完全失败,因此您不会遇到扣除成功,但贷记失败的问题
AFAIK、MySQL 4.x和MyISAM不支持事务,因此需要MySQL 5.x和InnoDB,但我不确定MySQL当前使用的默认数据库引擎是什么。假设您有一个合理的新MySQL版本(我认为是5.x),并且您没有使用MyISAM,这就是您需要的 事务基本上是将多个sql语句组合在一起,然后允许您一次性提交它们。如果任何语句抛出错误,事务将回滚 交易要么成功,要么完全失败,因此您不会遇到扣除成功,但贷记失败的问题
AFAIK、MySQL 4.x和MyISAM不支持事务,因此需要MySQL 5.x和InnoDB,但我不确定MySQL当前使用的默认数据库引擎是什么。谢谢,我会在早上查找这个+1用于交易。汇款问题是交易的经典教科书场景谢谢,我会在早上查这个+1用于交易。转账问题是交易的经典教科书场景
update account
set value = value + if(user='a', -100, 100)
where user in ('a', 'b');