Bagaimanakah Saya Membetulkan Ralat \'Campuran Pengumpulan Tidak Sah\' dalam MySQL?

Patricia Arquette
Lepaskan: 2024-11-04 02:08:02
asal
420 orang telah melayarinya

How Do I Fix the

Ralat Pengumpulan Tidak Sah dalam MySQL: Menyelesaikan Campuran Pengumpulan

Ralat "Campuran Pengumpulan Tidak Sah" dalam MySQL timbul apabila membandingkan nilai dengan set watak atau himpunan yang berbeza. Mari analisa isu ini dalam konteks pertanyaan anda:

<code class="sql">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</code>
Salin selepas log masuk

Setelah menambahkan baris berikut pada pertanyaan anda:

<code class="sql">AND username IN (SELECT username FROM users WHERE gender =1)</code>
Salin selepas log masuk

anda mengalami ralat "Campuran tidak sah pengumpulan". Ini kerana lajur nama pengguna dalam jadual penilaian mungkin mempunyai pengumpulan yang berbeza daripada lajur nama pengguna dalam jadual pengguna.

Mengenal pasti Pengumpulan yang Salah:

Untuk menentukan yang mana lajur menyebabkan konflik pengumpulan, gunakan pertanyaan berikut:

<code class="sql">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;</code>
Salin selepas log masuk

Pertanyaan ini akan memaparkan jadual dan lajur yang mempunyai collation latin1_general_ci.

Menyelesaikan Isu:

Untuk menyelesaikan ralat, tukar jadual dengan pengumpulan yang salah kepada pengumpulan yang diperlukan, yang biasanya latin1_swedish_ci. Gunakan pertanyaan berikut:

<code class="sql">ALTER TABLE tbl_name CONVERT TO CHARACTER SET latin1 COLLATE 'latin1_swedish_ci';</code>
Salin selepas log masuk

dengan tbl_name ialah nama jadual dengan penyusunan yang salah.

Dengan menyelesaikan konflik penyusunan, pertanyaan yang diubah suai harus dilaksanakan dengan jayanya.

Atas ialah kandungan terperinci Bagaimanakah Saya Membetulkan Ralat \'Campuran Pengumpulan Tidak Sah\' dalam 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