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

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

Patricia Arquette
Patricia Arquetteasal
2024-11-04 11:38:02670semak imbas

How to Resolve the

Masalah dengan Ralat "Campuran Pengumpulan Tidak Sah" dalam MySql

Menghadapi ralat "Campuran tidak sah pengumpulan" semasa melaksanakan pertanyaan boleh mengecewakan. Untuk menyelesaikan isu ini, ikut langkah berikut:

Semak Pengumpulan

Mula-mula, kenal pasti lajur dengan pengumpulan yang tidak serasi. Jalankan 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;

Betulkan Ketidakkonsistenan Pengumpulan

Setelah anda mengenal pasti lajur yang menyinggung perasaan, laraskan pengumpulannya agar sepadan dengan pengumpulan yang diperlukan menggunakan pertanyaan berikut:

ALTER TABLE tbl_name CONVERT TO CHARACTER SET latin1 COLLATE 'latin1_swedish_ci';

Gantikan "tbl_name" dengan nama jadual dengan ketidakkonsistenan pengumpulan.

Contoh

Menggunakan langkah-langkah ini pada contoh pertanyaan disediakan akan menyelesaikan masalah:

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

Awas

  • Menukar set aksara dan himpunan boleh menyebabkan kehilangan data.
  • Sentiasa kembali tingkatkan pangkalan data anda sebelum membuat perubahan sedemikian.
  • Rujuk dokumentasi MySQL untuk mendapatkan maklumat lebih terperinci tentang himpunan dan set aksara.

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