Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menyelesaikan Ralat MySQL 1235: 'HAD & DALAM/SEMUA/SEBARANG/BEBERAPA subquery' Tidak Disokong?

Bagaimana untuk Menyelesaikan Ralat MySQL 1235: 'HAD & DALAM/SEMUA/SEBARANG/BEBERAPA subquery' Tidak Disokong?

Susan Sarandon
Lepaskan: 2024-12-13 22:33:10
asal
864 orang telah melayarinya

How to Resolve MySQL Error 1235:

Ralat: "Versi MySQL ini belum lagi menyokong 'LIMIT & IN/ALL/ANY/some subquery'"

Bila melaksanakan pertanyaan PHP yang menggunakan subkueri dengan klausa LIMIT dan pengendali IN, anda mungkin menghadapi ralat seperti ini:

Error during SQL execution: SELECT VID, thumb FROM video WHERE VID IN ( SELECT VID FROM video WHERE title LIKE "%funny%" ORDER BY viewtime DESC LIMIT 5) ORDER BY RAND() LIMIT 1

MySQL Error: This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'

MySQL Errno: 1235
Salin selepas log masuk

Ralat ini berlaku kerana versi MySQL tertentu tidak menyokong subqueries dengan klausa LIMIT yang digunakan bersama-sama dengan IN, ALL, ANY, atau SOME operator.

Penyelesaian

Untuk menyelesaikan isu ini, pertimbangkan untuk menggunakan JOIN dan bukannya subquery:

SELECT v.VID, v.thumb
FROM video AS v
INNER JOIN
     (SELECT VID
     FROM video
     WHERE title LIKE "%'.$Channel['name'].'%"
     ORDER BY viewtime DESC
     LIMIT 5) as v2
  ON v.VID = v2.VID
ORDER BY RAND()
LIMIT 1
Salin selepas log masuk

Pertanyaan yang diubah suai ini menggunakan INNER JOIN untuk menggabungkan hasil dua pernyataan SELECT. Pernyataan SELECT pertama mengambil VID video yang tajuknya mengandungi nama saluran yang ditentukan, menyusunnya mengikut masa tontonan dalam tertib menurun dan mengehadkan keputusan kepada 5 yang pertama. Pernyataan SELECT kedua kemudian menggunakan senarai VID ini untuk menapis set hasil utama, mengambil lajur tertentu daripada jadual video.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat MySQL 1235: 'HAD & DALAM/SEMUA/SEBARANG/BEBERAPA subquery' Tidak Disokong?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan