#1235 - 此版本的MySQL尚不支持'LIMIT&IN/ALL/ANY/SOME子查询'

Dan*_*any 4 mysql

我在尝试选择和删除时遇到此问题.你能帮我解决这个问题吗?

SELECT `danyel_site`.`server_week`.* FROM `server_week` WHERE `weekly` = 0 AND `time` NOT IN (SELECT * FROM `server_week` WHERE `weekly` = 0 ORDER BY `time` DESC LIMIT 10)
Run Code Online (Sandbox Code Playgroud)

我也想用delete

DELETE FROM `server_week` WHERE `weekly` = 0 AND `time` NOT IN (SELECT * FROM `server_week` WHERE `weekly` = 0 ORDER BY `time` DESC LIMIT 10)
Run Code Online (Sandbox Code Playgroud)

ech*_*_Me 18

你可以用这样的子查询做到这一点

DELETE FROM `server_week` WHERE `weekly` = 0 AND `time` NOT IN 
           (select `time` from ( 
                               SELECT `time` FROM `server_week` 
                                WHERE `weekly` = 0 
                                ORDER BY `time` DESC 
                                LIMIT 10) t ) 
Run Code Online (Sandbox Code Playgroud)

  • 这不是_my_查询.我不是OP ......只是路过,看到你的回答,让我惊讶并要求解释,因为_this_从来没有发生在我身上.我真的很想看到一个解释,但如果你不提供一个解释,那就一样好,我只是将我的搜索重定向到其他地方:) (7认同)
  • 不,我没有,我只是要求从错误信息中判断.你的查询不是使用`LIMIT`和`IN`,那个_"这个版本的MySQL还不支持"_? (2认同)
  • @GellieAnn看起来在这种情况下,你不能直接使用IN与使用LIMIT的子查询.因此,解决方法是将它们封装在另一个子查询中以"愚弄"MySQL. (2认同)