ホームページ >データベース >mysql チュートリアル >MySQL 5.5.8 で最新 15 件以外の投稿を削除するにはどうすればよいですか?
mySQL サブクエリ制限: 「このバージョンの MySQL は 'LIMIT & IN/ALL/ANY/SOME サブクエリをサポートしていません」エラーを解決します
提供されたクエリは、最新の 15 エントリに含まれていない投稿を削除しようとしますが、「MySQL はまだ 'LIMIT & IN/ALL/ANY/SOME subquery' をサポートしていません。」というエラーが発生します。これは MySQL バージョンの制限によるものです。 5.5.8.
提案された解決策:
この制限を克服するには、次の変更されたクエリを採用します:
DELETE FROM posts WHERE id not in ( SELECT * FROM ( SELECT id FROM posts ORDER BY timestamp desc limit 0, 15 ) as t);
このクエリはネストされたクエリを使用します。 SELECT ステートメントを使用して、最新の 15 件の投稿の ID を取得するサブクエリを作成します。次に、メイン クエリはこのサブクエリを利用して、この範囲外にある投稿を特定して削除します。
説明:
内部的に、変更されたクエリは 2 段階のプロセスに従います。 :
以上がMySQL 5.5.8 で最新 15 件以外の投稿を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。