我通过phpMyAdmin在mySQL中执行的所有操作的常量#1064错误

时间:2013-06-20 11:35:21

标签: mysql phpmyadmin

  

1064 - 您的SQL语法错误

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

删除数据库时出错:

  

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

     MySQL说:

     

#1064 - 您的SQL语法出错;检查与MySQL服务器版本对应的手册,以获得正确的语法   靠近'WHERE db_name ='new_database_test'和table_name =''   AND FIND_IN_SET(第1行的'D'

创建数据库时出错:

  
    

SQL查询:编辑

         

SELECT MAX(版本)FROM.WHERE db_name ='new_test_db'AND     table_name =''AND FIND_IN_SET('创建数据库',跟踪)> 0

         MySQL说:

         

#1064 - 您的SQL语法出错;检查手册     对应于您的MySQL服务器版本,以便使用正确的语法     靠近'WHERE db_name ='new_test_db'和table_name =''AND     FIND_IN_SET(第1行''创建'

  

添加表时出错:

  

SQL查询:编辑

     

SELECT MAX(版本)FROM.WHERE db_name ='new_test_db'AND   table_name ='awesome_table'和FIND_IN_SET('创建表',   跟踪)> 0

     MySQL说:

     

#1064 - 您的SQL语法出错;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   靠近'WHERE db_name ='new_test_db'和table_name =   'awesome_table'和第1行的FIND_IN'

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

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

感谢。

5 个答案:

答案 0 :(得分:8)

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

从错误消息中可以看出,当尝试打开某些表时,即使在边栏中单击其名称,PMA也会在SQL语句的末尾附加无意义的SQL。

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

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

我发现在phpmyadminpma_table_uiprefs的行中附加查询的无意义SQL将问题与我学生的用户名以及导致的特定数据库和表名相关联。她的麻烦。大奖!我删除了这一行。

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

希望这有帮助。

SimónRuiz

坎特伯雷

技术

答案 1 :(得分:2)

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

答案 2 :(得分:1)

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

  

1064 - 您的SQL语法出错;查看与MySQL服务器版本对应的手册,以获得正确的语法,使用附近的'ANDverifyOptionID> 0    在第1行限制0,30'

我怀疑在PHPMyAdmin中缓存了一些内容,但不知道在哪里找到它并修复它。

我已经清除了饼干/重新启动而没有爱情。另一个用户能够查看没有问题的表 - 所以这必须是与特定用户帐户相关的东西。

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

答案 3 :(得分:1)

为我解决的是:

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

编辑:

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

答案 4 :(得分:0)

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

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

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