MySQL の「不正な照合順序の組み合わせ」エラーの解決
SELECT ステートメントを含む MySQL ストアド プロシージャを実行しようとすると、次のことが考えられます。 「照合順序が不正です」というエラーが発生します。この問題は、テーブルの照合順序と比較または並べ替えられる列の不一致が原因で発生します。
テーブルの照合順序は latin1_general_ci ですが、WHERE 句の列は latin1_general_cs を使用します。これらの互換性のない照合順序により、エラーが発生します。
解決策 1: COLLATE 句を使用して共有照合順序を指定する
COLLATE 句を使用して、クエリ:
WHERE column1 COLLATE latin1_general_ci = column2 COLLATE latin1_general_ci
解決策 2: BINARY 演算子
または、文字列をバイナリ データとして扱う BINARY 演算子を利用することもできます。
WHERE BINARY column1 = BINARY column2
注:
BINARY 演算子を使用する場合は、BINARY 演算子により、列に対する潜在的なインデックス作成が無効になることに注意してください。
照合関連のトピックに関する包括的な情報については、eggyal が同様のディスカッションで提供した非常に洞察力に富んだ回答を参照してください。
以上がMySQL の「不正な照合順序の組み合わせ」エラーを修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。