ホームページ >データベース >mysql チュートリアル >MySQL クエリの「不正な照合順序の組み合わせ」エラーを解決するにはどうすればよいですか?
照合エラーによる 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 サイトの他の関連記事を参照してください。