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 :
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!