ホームページ >データベース >mysql チュートリアル >MySQL クエリの「不正な照合順序の組み合わせ」エラーを解決するにはどうすればよいですか?

MySQL クエリの「不正な照合順序の組み合わせ」エラーを解決するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-03 23:59:301092ブラウズ

How to Resolve

照合エラーによる MySql での不正な文字ソート解決

SQL クエリで 2 つのサブクエリを結合しようとすると、「不正な」エラーが発生する場合があります。照合順序が混在しています」エラー。これは、比較または演算に関係する列の文字セットまたは照合順序の設定が異なる場合に発生します。

このエラーを解決するには、クエリで使用される列の照合順序が同じであることを確認する必要があります。影響を受ける列を特定するには、次のクエリを参照します。

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;

これにより、「latin1_general_ci」照合順序を持つ列が表示されます。このエラーを解決するには、次のクエリを使用して競合する列を 'latin1_swedish_ci' 照合順序に変換します:

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

照合順序の不一致を修正することで、クエリを正常に実行できます:

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

以上がMySQL クエリの「不正な照合順序の組み合わせ」エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。