php事务讲解

mysql事务中,可能有多条sql执行,其中有一条执行失败,整个事务就会回滚。以前我自己理解的意思是,只要有一条sql的返回结果为false,那么事务就会回滚,不过现在看来是我理解错了。这里说的执行失败是指

一,sql语句发生了语法错误:比如:Db::names('t1').....  

二,由于数据库设计规则导致的执行失败;如:一个表中的字段设置为了唯一,那插入重复的值时就会执行失败,导致事务回滚。

// 启动事务
2.Db::startTrans();
3.try{
4.    Db::table('think_user')->find(1);
5.    Db::table('think_user')->delete(1);
6.    // 提交事务
7.    Db::commit();    
8.} catch (\Exception $e) {
9.    // 回滚事务
10.    Db::rollback();
11.}

php事务讲解_第1张图片

你可能感兴趣的:(点石成金,PHP)