Lock Tables - PHPMyAdmin not working

时间:2017-10-23 20:48:48

标签: phpmyadmin locking

I am trying to lock a table name 'users' but unable to lock using PHPMyAdmin. I followed this tutorial but the following error occurs:

error while locking a table

Unrecognized statement type. (near "LOCK" at position 0)

3 个答案:

答案 0 :(得分:3)

在phpMyAdmin中使用LOCK TABLES语句没有用,除非您在其后面键入一些其他语句并将它们与LOCK TABLES语句一起发送。原因是锁只适用于当前的MySQL会话,一旦phpMyAdmin完成处理语句,它就会被丢弃。我们不是在讨论PHP会话而是在谈论MySQL会话。

答案 1 :(得分:2)

问题的第一部分是phpMyAdmin目前似乎在识别语法时遇到问题,因此您会收到红色X语法警告。但是,您仍然可以提交查询,这只是一个警告。正如我在评论中提到的,我刚刚打开了一个关于此的错误报告,因此它应该在即将发布的版本中得到修复。

然而,第二部分是MySQL给你的错误,它显示在屏幕的底部,它说你的语法对MySQL也无效。你没有告诉它你想要什么类型的锁;你可以做LOCK TABLES `users` READ这样的事情,它应该适合你(尽管有phpMyAdmin警告)。您的选择基本上是READ或WRITE,READ也允许LOCAL修饰符(MySQL documentation)。当我测试当前稳定版本(4.7.5)和phpMyAdmin的开发版本时,它们都能正常使用这种行为。

答案 2 :(得分:0)

当我尝试将使用MySQL Workbench创建的SQL备份文件导入PHPMyAdmin时,这发生在我身上。但是在对LOCK和UNLOCK行进行注释时,它可以正常工作。否则,请安装Workbench并还原,而无需进行任何更改。