事务(transaction),在数据库编程中是一个重要的概念
MySQL的事务处理在处理实际问题中有着广泛且重要的应用,最常见的应用如银行转账业务、电子商务支付业务等等。但是,值得注意的是,MySQL的事务处理功能在MYSIAM存储引擎中是不支持的,在InnoDB存储引擎中是支持的。现在上传一段代码,作为引导认识MySQL事务处理的开始,简单的实例,但融汇思想,相信会有很大的帮助。
<?php
$conn=mysql_connect('localhost','root','yourpassword')or die(mysql_error());
mysql_select_db('transaction',$conn);
mysql_query('set names utf8');
//创建事务
mysql_query('START TRANSACTION') or die(mysql_error());
$sqlA="update A set account=account-1";
if(!mysql_query($sqlA)){
mysql_query('ROLLBACK') or exit(mysql_error());//判断当执行失败时回滚
exit();
}
$sqlB="update B set account=account+1";
if(!mysql_query($sqlB)){
mysql_query('ROLLBACK') or exit(mysql_error());//判断当执行失败时回滚
exit();
}
mysql_query('COMMIT')or die(mysql_error());//执行事务
mysql_close($co