Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '=' in MySQL Stored Procedure

Nikhil picture Nikhil · Mar 22, 2012 · Viewed 49k times · Source

I checked the database table and found it was in latin1_swedish_ci so i've changed it to utf8_general_ci then I changed the collation from latin1_swedish_ci to utf8_general_ci for all the fields.

Still it's giving me the same error.

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

Thanks,

Answer

Hituptony picture Hituptony · Jul 17, 2012

so the answer is simple. It seems you missed the change as stated by MKJ ^^ but the actual syntax to alter your tables looks like this.

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

Applied as an individual script or at the end of your create table statement you should be able to relate all related tables back to the same charset