【问题标题】:Lock Tables - PHPMyAdmin not working锁定表 - PHPMyAdmin 不工作
【发布时间】:2018-04-04 12:39:30
【问题描述】:

我正在尝试锁定表名“用户”,但无法使用 PHPMyAdmin 进行锁定。 我关注了这个tutorial 但出现以下错误:

无法识别的语句类型。 (靠近位置 0 的“LOCK”)

【问题讨论】:

标签: phpmyadmin locking


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      当我尝试将使用 MySQL Workbench 创建的 SQL 备份文件导入 PHPMyAdmin 时,这种情况发生在我身上。但是,当 LOCK 和 UNLOCK 行被注释时,它工作正常。否则安装 Workbench 并在没有任何更改的情况下恢复。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-07-21
        • 2013-10-20
        • 1970-01-01
        • 2011-10-17
        • 2011-01-01
        • 2023-04-06
        • 2016-08-17
        • 1970-01-01
        相关资源
        最近更新 更多