Warm tip: This article is reproduced from serverfault.com, please click

mysql-如何用Laravel锁定表?

(mysql - How to lock table with Laravel?)

发布于 2018-11-28 15:05:35

我想在事务内锁定表。像这样的东西:

  DB::transaction(function (){
    DB::statement('LOCK TABLES important_table WRITE');
    //....
  });

但是,该行DB::statement('LOCK TABLES important_table WRITE');始终会触发以下错误:

SQLSTATE [HY000]:常规错误:2014当其他未缓冲的查询处于活动状态时,无法执行查询。考虑使用PDOStatement :: fetchAll()。另外,如果你的代码只针对mysql运行,则可以通过设置PDO :: MYSQL_ATTR_USE_BUFFERED_QUERY属性来启用查询缓冲。(SQL:LOCK TABLES officeSeal WRITE)

如何锁定Laravel中的桌子?

Questioner
Adam
Viewed
0
Adam 2018-11-28 23:39:26

可以这样在Laravel中锁定表:

DB::raw('LOCK TABLES important_table WRITE');