1064 - 您的SQL语法错误
我刚刚完成了XAMPP的全新安装,并为phpMyAdmin和mySQL配置了用户名和密码。到目前为止这么好,没有错误,一切正常。但是当我去创建一个新数据库,创建一个新表,甚至删除一个表时,总会出现#1064错误消息。
删除数据库时出错:
SELECT MAX(版本)FROM.WHERE
MySQL说:db_name
='new_database_test'ANDtable_name
=''AND FIND_IN_SET('DROP DATABASE',跟踪)> 0#1064 - 您的SQL语法出错;检查与MySQL服务器版本对应的手册,以获得正确的语法 靠近'WHERE
db_name
='new_database_test'和table_name
='' AND FIND_IN_SET(第1行的'D'
创建数据库时出错:
SQL查询:编辑
SELECT MAX(版本)FROM.WHERE
MySQL说:db_name
='new_test_db'ANDtable_name
=''AND FIND_IN_SET('创建数据库',跟踪)> 0#1064 - 您的SQL语法出错;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 靠近'WHERE
db_name
='new_test_db'和table_name
=''AND FIND_IN_SET(第1行''创建'
添加表时出错:
SQL查询:编辑
SELECT MAX(版本)FROM.WHERE
MySQL说:db_name
='new_test_db'ANDtable_name
='awesome_table'和FIND_IN_SET('创建表', 跟踪)> 0#1064 - 您的SQL语法出错;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 靠近'WHERE
db_name
='new_test_db'和table_name
= 'awesome_table'和第1行的FIND_IN'
尽管有错误,但它显示数据库正在被创建和删除。但是当我尝试创建一个表时,它只是创建一个空表而不是包含我想要的任何列。
任何人都知道如何解决这个问题?我对mySQL和phpMyAdmin都是新手,所以不知道从哪里开始。
感谢。
答案 0 :(得分:8)
今年我在学生的几台机器上看到了这个问题,同时尝试使用XAMPP和PHPMyAdmin作为入门用户界面教他们一些基本的SQL。
从错误消息中可以看出,当尝试打开某些表时,即使在边栏中单击其名称,PMA也会在SQL语句的末尾附加无意义的SQL。
删除数据库并重新创建它并没有帮助,遗憾的是我的谷歌搜索没有明显的答案。
在确定问题与PMA相关并且可能与用户特定配置相关之后,我在phpmyadmin
数据库中进行了一些挖掘。
我发现在phpmyadmin
。pma_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子句中包含数据库或表。你需要学习选择查询的基础知识。