このエラーが発生しました。
オペレーション(=)の照合(utf8mb4_unicode_ci、IMPLICIT)と(utf8mb4_general_ci、IMPLICIT)の不正な組み合わせ
「照合」を「utf8mb4_unicode_ci」に変更しました。その後、テーブルは切り捨てられ、行を再度インポートしました。それでも同じエラーが発生する
参加しているテーブルに異なる照合順序があると思います。オペレーション=
で違法な照合の組み合わせを使用しているという。
そのため、照合を設定する必要があります。例えば:
WHERE tableA.field COLLATE utf8mb4_general_ci = tableB.field
次に、=
操作で同じ照合を設定しました。
テーブルに関する詳細情報を提供していないので、これは私が提供できる最高の擬似コードです。
結合クエリの場合、このクエリを使用してこのようなエラーを解決しました。
select * from contacts.employees INNER JOIN contacts.sme_info
ON employees.login COLLATE utf8mb4_unicode_ci = sme_info.login
以前に次のクエリを使用すると、同じエラーが発生していました。
select * from contacts.employees LEFT OUTER JOIN contacts.sme_info
ON employees.login = sme_info.login
Error: Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_general_ci,IMPLICIT) for operation '='
照合についてはあまり知りませんが、両方のテーブルが文字セットの異なる規則に従っているようです。したがって、等号演算子は実行できませんでした。そのため、最初のクエリでは、収集および結合する照合セットを指定しました。