web-dev-qa-db-ja.com

MySQLストアドプロシージャの操作 '='の照合(utf8_general_ci、IMPLICIT)と(utf8_unicode_ci、IMPLICIT)の不正な組み合わせ

データベーステーブルを確認したところ、latin1_swedish_ciにあることがわかりました。そのため、utf8_general_ciに変更し、すべてのフィールドの照合順序をlatin1_swedish_ciからutf8_general_ciに変更しました。

それでも同じエラーが発生します。

演算 '='の照合(utf8_general_ci、IMPLICIT)と(utf8_unicode_ci、IMPLICIT)の不正な組み合わせ

おかげで、

17
Nikhil

答えは簡単です。 MKJ ^^で述べられている変更を逃したようですが、テーブルを変更する実際の構文は次のようになります。

alter table `dbname`.`tablename` convert to character set utf8 collate utf8_general_ci;

個別のスクリプトとして適用するか、create tableステートメントの最後に、関連するすべてのテーブルを同じ文字セットに関連付けることができるはずです。

30
Hituptony
COLLATE utf8_unicode_ci

このように、クエリの最後に追加します。

SELECT * FROM table COLLATE utf8_unicode_ci;
1
alicanozkara