2

1064 - 您的 SQL 语法有错误

我刚刚完成了 XAMPP 的全新安装,并为 phpMyAdmin 和 mySQL 配置了用户名和密码。到目前为止一切顺利,没有错误,一切正常。但是当我去创建一个新数据库,创建一个新表,甚至删除一个表时,它总是会出现 #1064 错误消息。

删除数据库时出错:

SELECT MAX( 版本) FROM.WHERE db_name= 'new_database_test' AND table_name= '' AND FIND_IN_SET('DROP DATABASE', tracking ) >0

MySQL 说:

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'WHERE db_name= 'new_database_test' AND table_name= '' AND FIND_IN_SET('D'附近使用正确的语法

创建数据库时出错:

SQL 查询:编辑

SELECT MAX( 版本 ) FROM.WHERE db_name= 'new_test_db' AND table_name= '' AND FIND_IN_SET( 'CREATE DATABASE', tracking ) >0

MySQL 说:

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'WHERE db_name= 'new_test_db' AND table_name= '' AND FIND_IN_SET('CREATE '附近使用正确的语法

添加表时出错:

SQL 查询:编辑

SELECT MAX( 版本 ) FROM.WHERE db_name= 'new_test_db' AND table_name= 'awesome_table' AND FIND_IN_SET( 'CREATE TABLE', tracking ) >0

MySQL 说:

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'WHERE db_name= 'new_test_db' AND table_name= 'awesome_table' AND FIND_IN'附近使用正确的语法

尽管存在错误,但它显示数据库正在创建和删除。但是当我尝试创建一个表时,它只是创建一个空表,而不是包含我想要的任何列。

有人知道如何解决这个问题吗?我对 mySQL 和 phpMyAdmin 都是全新的,所以真的不知道从哪里开始。

谢谢。

4

5 回答 5

10

今年,我在我的几个学生的机器上看到了这个问题,同时尝试使用 XAMPP 和 PHPMyAdmin 作为介绍性用户界面来教他们一些基本的 SQL。

从错误消息中可以看出,PMA 在尝试打开某些表时将无意义的 SQL 附加到 SQL 语句的末尾,即使在侧边栏中单击它们的名称也是如此。

删除数据库并重新创建它并没有帮助,不幸的是,我的谷歌搜索没有明显的答案。

在确定问题与 PMA 相关并且可能与用户特定的配置相关后,我在phpmyadmin数据库中进行了一些挖掘。

我在phpmyadmin. pma_table_uiprefs这与我学生的用户名以及导致她麻烦的特定数据库和表名相关联。大奖!我删除了这一行。

但是,在删除该行之后,我尝试关闭并重新启动 Apache、MySQL,甚至我的 Web 浏览器,但问题仍然存在。直到她的机器完全重新启动,问题才消失。(这是一台 Windows 机器,FWIW,YMMV。)

希望这可以帮助。

西蒙·鲁伊斯

坎特伯雷

技术

于 2015-02-04T20:51:01.260 回答
2

转到表 phpmyadmin->pma_table_uiperfs 删除包含您的表名的行。删除cookies,重启mysql引擎。

于 2017-03-05T03:24:56.160 回答
2

为我解决的问题是:

1. go to table operations (where u clone or rename a table)
2. click on repair table (right side in table maintenance section)

编辑:

实际上对我来说问题是小写的表名,我使用了大写的选择查询..

于 2017-06-06T06:34:44.057 回答
1

对于每个给出与问题无关的答案的人 - PHPMyAdmin 本身存在错误 - 不知何故,它存储了一些错误的 SQL 并将其附加到每个查询中,导致 OP 描述的错误,我现在也遇到了!特别是有一个表,当我尝试浏览它或从中选择时,我收到 1064 错误,其中包含关于我没有进行的查询的注释。您看到的部分ANDverifyOptionID>0不是我正在进行的查询的一部分 - 我只是单击表格并尝试浏览它:

1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'ANDverifyOptionID>0 LIMIT 0, 30'附近使用正确的语法

我怀疑有些东西缓存在 PHPMyAdmin 中,但不知道在哪里可以找到并修复它。

我已经清除了 cookie/重新启动并且没有爱。另一个用户能够毫无问题地查看表格 - 所以这必须与特定用户帐户相关。

PHPMyAdmin 是否会为每个用户缓存可能导致此问题的内容?

于 2014-09-16T16:37:11.360 回答
0

您在所有查询中都错过了表的名称

      SELECT MAX( version ) FROM your_table 
                                    ^^-----your_table_here

并且您不必在 where 子句中包含数据库或表。您需要学习选择查询的基础知识。

于 2013-06-20T11:41:58.237 回答