I need your help in identifying why this error is coming
Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '='
The procedure was working fine till yesterday and today it started giving error of illegal mix of collations. I checked each and every table of my database and all the tables and its columns are in one charset and collation that is:- utf8 utf8_unicode_ci.
I created another schema with same structrue and tried to execute same query it works fine but not on its original schema.
can anyone provide any input on this? Why is so happening ?
utf8mb4_unicode_ci is based on the official Unicode rules for universal sorting and comparison, which sorts accurately in a wide range of languages. utf8mb4_general_ci is a simplified set of sorting rules which aims to do as well as it can while taking many short-cuts designed to improve speed.
utf8_general_ci is a legacy collation that does not support expansions, contractions, or ignorable characters. It can make only one-to-one comparisons between characters.
I've had same problem, and i discovered that tables had same collation, but columns did not. You could download mysqlyog trial and in alter table uncheck hide language options.... Quickest way to see.
in my case it was due to stupid mysql workbench - it somehow adds to procedure default collation from schema (to some metadata or what) and then if you collate anything in procedure to different collation, this exception occurs;
must set correct (the one which is used in procedure) collation to schema and then to re-edit the procedure and apply changes (must be resaved or recreated) and everything is ok now
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With