Illegal mix of collations エラーについて2
以前も同様の記事を書いたけど、また出くわしたのでメモしておく。
SELECT * FROM users WHERE CONCAT( sei, mei ) LIKE '%姓名%';
このようなSQLで姓名で検索をしようとしたら、「Illegal mix of collations 」が発生。
原因は、
users.sei -> utf8_general_ci
users.mei -> utf8_unicode_ci
であったため。
以下のようにバイナリに変換すればOK
SELECT * FROM users WHERE CONCAT( sei, CONVERT(mei USING binary) ) LIKE '%姓名%';