Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memadam Catatan Di Luar 15 Terkini dalam MySQL 5.5.8?

Bagaimana untuk Memadam Catatan Di Luar 15 Terkini dalam MySQL 5.5.8?

Barbara Streisand
Barbara Streisandasal
2024-11-11 15:13:03589semak imbas

How to Delete Posts Outside the Latest 15 in MySQL 5.5.8?

Had Subkueri mySQL: Menyelesaikan 'Versi MySQL ini tidak menyokong Ralat 'LIMIT & IN/ALL/ANY/SOME subquery'

Pertanyaan yang disediakan bertujuan untuk memadamkan catatan yang tidak disertakan dalam 15 entri terkini, tetapi ia menghadapi ralat "MySQL belum lagi menyokong 'HAD & DALAM/SEMUA/SEBARANG/SEBERAT subquery.'" Ini disebabkan oleh pengehadan dalam MySQL versi 5.5.8.

Penyelesaian Cadangan:

Untuk mengatasi had ini, gunakan pertanyaan yang diubah suai berikut:

DELETE 
FROM posts 
WHERE id not in (
      SELECT * FROM (
            SELECT id 
            FROM posts 
            ORDER BY timestamp desc limit 0, 15
      ) 
      as t);

Pertanyaan ini menggunakan pernyataan SELECT bersarang untuk buat subkueri yang mendapatkan semula ID 15 siaran terkini. Pertanyaan utama kemudiannya menggunakan subkueri ini untuk mengenal pasti dan memadamkan siaran yang berada di luar julat ini.

Penjelasan:

Secara dalaman, pertanyaan yang diubah suai mengikuti proses dua langkah :

  1. Ia mencipta jadual sementara, diwakili oleh alias subquery 't', yang mengandungi ID bagi 15 siaran terbaharu.
  2. Pertanyaan utama kemudiannya menggunakan jadual sementara ini untuk menapis siaran yang tidak mempunyai ID mereka hadir dalam subkueri, dengan itu mencapai pemadaman yang diingini.

Atas ialah kandungan terperinci Bagaimana untuk Memadam Catatan Di Luar 15 Terkini dalam MySQL 5.5.8?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn