我尝试通过MySQL加载表并得到以下错误?
MySQL说:表'cms'没有用LOCK TABLES锁定
为什么需要锁定桌子?我没看过吗?有什么方法可以解锁吗?你甚至想吗?
http://dev.mysql.com/doc/refman/5.7/en/lock-tables.html
MySQL使客户端会话能够显式地获取表锁,以便与其他会话协作访问表,或者防止其他会话在会话需要互斥访问期间修改表。会话只能为其自身获取或释放锁。一个会话无法获取另一会话的锁,也不能释放另一会话持有的锁。
在更新表时,锁可用于模拟事务或提高速度。本节稍后将对此进行详细说明。
LOCK TABLES显式获取当前客户端会话的表锁。可以为基本表或视图获取表锁。您必须具有LOCK TABLES特权和要锁定的每个对象的SELECT特权。
对于视图锁定,LOCK TABLES将视图中使用的所有基本表添加到要锁定的表集中,并自动锁定它们。如果使用LOCK TABLES显式锁定表,则触发器中使用的任何表也会隐式锁定,如第13.3.5.2节“ LOCK TABLES和Triggers”中所述。
UNLOCK TABLES显式释放当前会话持有的所有表锁。LOCK TABLES在获取新锁之前隐式释放当前会话持有的所有表锁。
UNLOCK TABLES的另一个用途是释放使用FLUSH TABLES WITH READ LOCK语句获取的全局读取锁定,这使您可以锁定所有数据库中的所有表。请参见第13.7.6.3节“ FLUSH语法”。(如果您拥有诸如Veritas之类的可以及时拍摄快照的文件系统,这是获取备份的一种非常方便的方法。)
LOCK和UNLOCK的语法
LOCK TABLES
tbl_name [[AS] alias] lock_type
[, tbl_name [[AS] alias] lock_type] ...
lock_type:
READ [LOCAL]
| [LOW_PRIORITY] WRITE
例如:-
LOCK TABLE t WRITE, t AS t1 READ;
解锁表
UNLOCK TABLES
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句