我想在事务中锁定一个表。类似于这样的操作:
DB::transaction(function (){
DB::statement('LOCK TABLES important_table WRITE');
//....
});
然而,代码行DB::statement('LOCK TABLES important_table WRITE');
总是会触发以下错误:
SQLSTATE[HY000]: General error: 2014 无法执行查询,因为其他未缓冲的查询仍在执行中。请考虑使用PDOStatement::fetchAll()。或者,如果您的代码只会运行在mysql上,您可以通过设置PDO::MYSQL_ATTR_USE_BUFFERED_QUERY属性启用查询缓冲。(SQL: LOCK TABLES officeSeal WRITE)
如何在Laravel中锁定表格?
LOCK TABLES
。 - Rick James