Scroll

「常に新しい技術に目を向けること」
「既存の技術をより深堀りすること」

カテゴリ:データベース
タグ:
公開日:2015/09/29(火)

MySQLの異なる照合順序の結合について

結合の条件に使う項目の照合順序はできるだけ合わせた方が良さそうです。



MySQLで異なる照合順序の結合を行うとエラーになる場合がある

MySQLのテーブルを結合する時に、結合条件に使用している項目の照合順序が異なる場合、エラーが発生する場合があります。

エラー例

(A.code照合順序:utf8_general_ci、B.code照合順序:utf8_unicode_ci)

Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation ‘=’



対応策

結合の際にCOLLATEを使用して、照合順序をどちらかに統一することで結合できるようになります。

上記の対応で結合できるようになりますが、値を変換して結合しているため、インデックスが使用されなくなります。


レコード数が大量になる場合は、照合順序を合わせておいた方が良いです。

この記事を書いた人:ヤス

シェアのご協力をお願いいたします!

カテゴリー

アーカイブ