mysql 事务表 information_schema . INNODB_TRX
创新互联建站专注于企业成都营销网站建设、网站重做改版、鹿城网站定制设计、自适应品牌网站建设、H5高端网站建设、商城网站建设、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为鹿城等各大城市提供网站开发制作服务。
begin是不会在事务表中存在的,只有select一个表后才会在事务表中出现
如果autocommit为off了,不写begin,直接一个select也会在事务表里存在
在创建表的时候create table xxxx ( ..........) engine innoDB; 后一句表示创建引擎类型为innoDB,它支持事务,
开启一个事务: start transaction;
然后你写你的sql语句,无论你写多少,只要没提交事务,这个事务就存在,有commit显式提交,还有隐式提交,你觉得你写的sql语句没有问题时就,你就commit; 提交这个事务;如果前面你写的sql语句出了问题,比如有条sql语句是批量改金币什么的,改多了。 Rollback;回滚,意思是回到你开启事务时的状态,就是说你开启事务后的所有sql操作当作没有发生,你重新来过。
注意:当一个事务commit,或者rollback就结束了
function func($val,$id) {
$sql="update table set a=? where id=?";
$pre=$this-pdo-prepare($sql);
$this-pdo-beginTransaction();//开启事务
$bo=$pre-execute(array($val,$id));
if($bo){
//…执行代码……
$this-pdo-commit();//提交事务
return true;
}else{
//…执行代码……
$this-pdo-rollBack();//回滚事务
return false;
}
}