在save()执行之后rollback为什么没有回滚?
程序员文章站
2022-05-05 15:35:55
...
DB::beginTransaction();
$model = new UserWechat();
$model->unionid = 'od13WwfNk64BQ9ME95S-bzuU7j8A';
$model->save();
DB::rollback();
代码如上,没有按照预期回滚,数据插入了数据库中.
执行原生sql如下, 和预期一致!:
start transaction;
insert into user_wechat (unionid) values('od13WwfNk64BQ9ME95S-bzuU7j8A');
rollback;
难道我错了一万年...
回复内容:
DB::beginTransaction();
$model = new UserWechat();
$model->unionid = 'od13WwfNk64BQ9ME95S-bzuU7j8A';
$model->save();
DB::rollback();
代码如上,没有按照预期回滚,数据插入了数据库中.
执行原生sql如下, 和预期一致!:
start transaction;
insert into user_wechat (unionid) values('od13WwfNk64BQ9ME95S-bzuU7j8A');
rollback;
难道我错了一万年...
你的数据库引擎是InnoDB么?只有InnoDB才支持事务,MyISAM是不支持的哦!