如何在Laravel 5.5中设置事务隔离级别?

时间:2017-12-04 22:36:24

标签: php laravel transactions isolation-level

在使用MySQL的laravel 5.5中,我使用\Illuminate\Support\Facades\DB以这种方式创建事务:

DB::transaction(function() {
    ...
});

此类交易的隔离级别是什么,有没有办法明确设置它?

1 个答案:

答案 0 :(得分:3)

SqlLite 中的默认值为

'BEGIN IMMEDIATE TRANSACTION';

MySQL 中的默认值为

'SET TRANSACTION ISOLATION LEVEL READ COMMITTED';

您可以通过执行此类操作来自行设置

$pdo = DB::connection()->getPdo();
$pdo->exec('SET TRANSACTION ISOLATION LEVEL READ COMMITTED');