#1064 PHPMyAdmin中的错误:unwantedORDER BY中断请求

时间:2016-01-28 20:23:27

标签: mysql phpmyadmin

我的PHPMyAdmin 4.1.14在PHP 5.5.12上运行似乎存在一个主要问题。

在对表执行某些请求后,我无法再显示表的内容,也无法编写简单的SQL请求来显示它。

这会影响特定的表格,其他表格则完美无缺。

所以我写道:

this._canvas.removeAttribute("data-caman-id");
Caman(this._canvas, function () {
    ...

我收到错误消息,说我已尝试过此请求:

SELECT * FROM pj_empathie WHERE 1

这个'ORDER BY id desc)ANDaccepte = 1 ANDsecret = 0'来自哪里?

我认为某处存在某种缓存,所以我尝试了:

SELECT * FROM pj_empathie WHERE 1 ORDER BY id desc) ANDaccepte=1 ANDsecret=0 
 LIMIT 0, 25 

没有任何改变。

更奇怪的是,如果我重命名或复制表,新表工作正常。如果我重命名数据库,新数据库中的表可以正常工作。但是一旦我尝试将其重命名为第一个数据库名称或第一个表名,我就会再次收到错误。

感谢阅读:)

编辑:我找到了解决和重现的方法。

首先我写这个请求:

CHECK TABLE `pj_empathie`;

ANALYZE TABLE `pj_empathie`; 

REPAIR TABLE `pj_empathie`; 

OPTIMIZE TABLE `pj_empathie`; 

FLUSH TABLE `pj_empathie`; 

这很有效。

在我写完这个请求之后,简单地说:

SELECT * FROM `pj_empathie` WHERE pj1 IN (SELECT id FROM pj WHERE clan=5 AND clan_accepte = 1 ORDER BY id ASC)

......不再工作了。 PHPMyAdmin尝试在请求结束时自动添加内容:

SELECT * FROM `pj_empathie` WHERE 1

看起来很像前一个结尾。

但我可以写

SELECT * FROM `pj_empathie` WHERE 1 ORDER BY id ASC) 

...并且这样做有效,并且在此之后不再使用ORDER BY的简单请求。

0 个答案:

没有答案