Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menyelesaikan Ralat \'Campuran Pengumpulan Tidak Sah\' dalam Pertanyaan MySQL?

Bagaimana untuk Menyelesaikan Ralat \'Campuran Pengumpulan Tidak Sah\' dalam Pertanyaan MySQL?

Patricia Arquette
Lepaskan: 2024-11-03 23:59:30
asal
1124 orang telah melayarinya

How to Resolve

Resolusi Pengisihan Aksara Haram dalam MySql dengan Ralat Penyusunan

Dalam cuba menggabungkan dua subkueri dalam pertanyaan SQL, anda mungkin menghadapi "Haram ralat gabungan pengumpulan". Ini timbul apabila lajur yang terlibat dalam perbandingan atau operasi mempunyai set aksara atau tetapan penyusunan yang berbeza.

Untuk menyelesaikan ralat ini, adalah perlu untuk memastikan bahawa lajur yang digunakan dalam pertanyaan mempunyai pengumpulan yang sama. Untuk menentukan lajur yang terjejas, rujuk pertanyaan berikut:

SELECT table_schema, table_name, column_name, character_set_name, collation_name
FROM information_schema.columns
WHERE collation_name = 'latin1_general_ci'
ORDER BY table_schema, table_name,ordinal_position;
Salin selepas log masuk

Ini akan memaparkan lajur dengan pengumpulan 'latin1_general_ci'. Untuk menyelesaikan ralat, tukar lajur bercanggah kepada pengumpulan 'latin1_swedish_ci' menggunakan pertanyaan ini:

ALTER TABLE tbl_name CONVERT TO CHARACTER SET latin1 COLLATE 'latin1_swedish_ci';
Salin selepas log masuk

Dengan membetulkan ketidakpadanan pengumpulan, pertanyaan boleh dilaksanakan dengan jayanya:

SELECT username, (SUM(rating)/COUNT(*)) as TheAverage, Count(*) as TheCount
FROM ratings WHERE month='Aug' 
AND username IN (SELECT username FROM users WHERE gender =1)
GROUP BY username HAVING TheCount > 4
ORDER BY TheAverage DESC, TheCount DESC
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat \'Campuran Pengumpulan Tidak Sah\' dalam Pertanyaan MySQL?. 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