Laravel 8 隐式提交
在事务中使用 DB
外观的 statement
和 unprepared
方法时,必须小心避免导致 [隐式提交] 的语句 (https://dev.mysql.com/doc/refman/8.0/en/implicit-commit.html)。
这些语句将导致数据库引擎间接提交整个事务,从而使 Laravel 不知道数据库的事务级别。这种语句的一个例子是创建数据库表:
DB::unprepared('create table a (col varchar(1) null)');
请参考 MySQL 手册中的触发隐式提交的所有语句列表。