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

Patricia Arquette
Lepaskan: 2024-11-04 11:38:02
asal
631 orang telah melayarinya

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;
Salin selepas log masuk

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';
Salin selepas log masuk

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
Salin selepas log masuk

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!

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!