请问yii2的事务 具体是怎么执行的,为什么我sql出错后不会回滚呢?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

请问yii2的事务 具体是怎么执行的,为什么我sql出错后不会回滚呢?

2016-07-04 14:54:59 2499 1

我设置了 关联表的 添加和删除操作的事务.afterSave,beforeDelete

正常情况下,关联操作没有问题. A,B 2表 数据都是符合预期的.

我在 数据库中 叫B表 表名修改. 这个时候sql语句肯定是执行不了的. yii直接报错(这也是对的,因为找不到相关的表.)

报错后再查看数据库, A表记录已经删除, 但B表记录任然存在.

我的疑问是, B表的记录存在是对的.因为sql没有执行成功. 但A表的记录为什么也被删除了? 已经启用事务.为什么不回滚呢?

我水平很菜,是不是我对事务的理解错误.

是不是说?事务只是针对 数据库基本操作正常的情况下才会有效.

比如只是逻辑错误的时候,才需要人为(当然这里是框架帮我们搞了)的触发回滚,已达到事务的操作需求?

取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 19:50:41
    public function transactions()
    {
        return [
            self::SCENARIO_DEFAULT => self::OP_INSERT | self::OP_DELETE
        ];
    }
    0 0
相关问答

1

回答

MySQL两条SQL语句的性能比较那种更优

2021-10-14 15:01:15 147浏览量 回答数 1

1

回答

MySQL脚本文件中怎么注释SQL语句

2021-10-13 16:23:46 502浏览量 回答数 1

1

回答

MySQL 选择题 查询每个部门的最高工资、部门编号正确的sql语句是( )

2019-12-23 20:04:42 555浏览量 回答数 1

1

回答

大家使用过mysql 严格模式没有?帮忙看一下这个简单的SQL语句出了什么问题?

2016-07-04 11:49:26 1653浏览量 回答数 1

1

回答

mysql 如何通过一个sql语句搜出比例关系

2016-06-14 17:11:18 1456浏览量 回答数 1

2

回答

mysql sql语句消耗内存问题

2016-06-03 16:04:02 5532浏览量 回答数 2

1

回答

MySQL 的SQL语句优化问题

2016-02-27 13:54:53 2837浏览量 回答数 1

1

回答

MYSQL SQL语句疑问.求指教

2016-02-22 15:36:45 1606浏览量 回答数 1

1

回答

mysql多表连接查询,如何写sql语句?

2016-02-14 14:54:09 2809浏览量 回答数 1

1

回答

MYSQL中SQL语句的问题

2016-02-08 15:31:25 2175浏览量 回答数 1
+关注
0
文章
14879
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载