如果我使用命令 LOCK table table_name WRITE,MYSQL 如何解锁表;

标签 mysql

这是我的第一个问题,请多多包涵。

我用过这个命令:

LOCK "table table_name WRITE;" 

在 mysql workbench 中锁定任何向该表添加行的新人。我无法“解锁”这张 table 。
每当我尝试输入不同的命令时,例如

select * from table_name

屏幕一直在加载。任何帮助将不胜感激。

最佳答案

解锁规则


当释放一个session持有的表锁时,它们是同时释放的。 session 可以显式释放其锁,也可以在特定条件下隐式释放锁。

  • session 可以使用 UNLOCK TABLES 显式释放其锁定。

  • 如果 session 发出一个 LOCK TABLES 语句来获取锁,而 已经持有锁,其现有锁被隐式释放 在授予新锁之前。

  • 如果一个 session 开始一个事务(例如,使用 START TRANSACTION),执行隐式 UNLOCK TABLES,这会导致 要释放的现有锁。

引用:http://dev.mysql.com/doc/refman/5.7/en/lock-tables.html

关于如果我使用命令 LOCK table table_name WRITE,MYSQL 如何解锁表;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35083031/

相关文章:

php - 如何在 Laravel 中实现组合的交叉连接和内连接?

mysql - 在 SQL 中使用 IF/CASE 条件

mysql - 比较两个mysql查询的结果并在一个查询中得到结果

javascript - MySQL 的时间验证范围

mysql - R:ifelse 中的字符串列表

mysql - 从mysql查询获取子节点数

mysql - 无法在 FROM 子句中指定更新目标表 'location'

mysql - 如何计算 MySQL blob 文本中特定单词出现的次数?

mysql - 在关系数据库中实现高效的外键

php - 在 PHP 中处理 MySQL 错误