你写好了一段完整的代码,模型对数据库的操作,增删改查什么的,都没有问题,当然运行速度也是最快的,完全不用担心会出错,
前提肯定是已经写好的一整段代码,
但是,万一服务器中断了呢,执行一半,后面的就停止了,BugBugBugBugBugBugBugBugBug
不过如果有一个服务器运维的在处理,基本都不会出现这样的问题,但是万分之一的几率还是会有的,BugBug,
这时候可以通过数据库的事物来解决这个方法,
事物的原理简单来说就是:操作数据库的时候,如果不完整的去实现所有数据库操作,就全部删除回到初始
TP具体实现:
Db::startTrans();
try {
//开始数据库操作 . .. ...
Db::commit();
} catch (Exception $ex) { Db::rollback(); throw $ex; }
好了,关键代码已经写出来了,有需要的大佬们可以直接用哈 注意,表的结构一定要是InnoDB类型的才可以回。
什么是事务表呢:
事务表就是可以进行Transaction事务回滚操作, InnoDB是一种数据库存储引擎.他是事务型数据库的首选引擎,支持ACID事务,支持行级锁定。InnoDB是为处理巨大数据量时的最大性能设计。
InnoDB存储引擎完全与MySQL服务器整合,InnoDB存储引擎为在主内存中缓存数据和索引而维持它自己的缓冲池。
什么是非事务表?
Nontransactional Tables,非事务表,不支持事务的表,也就是使用MyISAM存储引擎的表。 非事务表的特点是不支持回滚
这就是微学网-程序员之家为你提供的"TP5对数据库操作的事物作用Db::startTrans"希望对你有所帮助.本文来自网络,转载请注明出处:http://www.weixuecn.cn/article/14062.html