SQLSTATE [HY000]: общая ошибка: 1205 Превышено время ожидания блокировки; попробуйте перезапустить транзакцию в Laravel - PullRequest
1 голос
/ 06 апреля 2020

Заранее спасибо

При обновлении записи в коде Laravel.

SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded; try restarting transaction (SQL: update `tbl_name` set `status` = 0, `tbl_name`.`updated_at` = 2020-04-06 00:00:02)

мой laravel мой код выглядит так, как показано ниже.

try {
       app('db')->beginTransaction();
       TblNameModel::where('id', 1)->update(['status' => 0, 'updated_at' => '2020-04-06 00:00:02']);
       app('db')->commit();
} catch (Exception $e) {
       app('db')->rollback();
}

1 Ответ

2 голосов
/ 06 апреля 2020
Try this

DB::beginTransaction();

try {
    $table = TblNameModel::find(1);
    $table->status = 0;
    $table->save();
} catch(\Exception $e){
    DB::rollback();
    throw $e;
}

DB::commit();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...