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


ブログタイトルとは全く合いませんが,唐突にDB.


こんな↓エラーがでた.

ERROR 1267 (HY000): Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '='

でもMySQLのUIツールで確認するとどっちも
utf8_general_ciになってる.

ALTER TABLE tbl_name
[[DEFAULT] CHARACTER SET charset_name]
[COLLATE collation_name]


一応,両方のテーブルをこれ↑で
指定しなおしてもやっぱしERRORがでる.

mysql> SHOW VARIABLES LIKE '%collation%';

                                                                                  • +
Variable_name Value
                                                                                  • +
collation_connection utf8_general_ci
collation_database utf8_general_ci
collation_server utf8_general_ci
                                                                                  • +

mysql> SHOW VARIABLES LIKE '%char%';

                                                                                                                                          • +
Variable_name Value
                                                                                                                                          • +
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8
character_sets_dir C:\MySQL\MySQLServer5.0\share\charsets\
                                                                                                                                          • +

で,粘り強くググル.しょうがないので英語のサイトも見る.(−−;


どこかのurlで
dumpして,dumpファイルの中身を置換しろというのがあったので試したら.
OKになった.


該当のテーブルのdumpをテキストエディタで開いて
これ↓を

    • -

collate utf8_unicode_ci

    • -

これ↓に置換.

    • -

collate utf8_general_ci

    • -

ファイルを,importで解決.