0%

修复MySQL的非法混合排序

我最近开始遇到MySQL的的非法混合归类错误。偶尔的查询会导致

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

解决方法如下:

SET collation_connection = 'utf8_general_ci';
ALTER DATABASE ECDatas CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE Count_DishesAll_Bapa15_100 CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE Count_DishesAll_Cd CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE Count_DishesAll_Fd CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE Count_DishesAll_Hamburger CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE Count_DishesAll_Lao CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE Count_DishesAll_Milk CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE Count_DishesAll_Naigai CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE Count_DishesAll_Naigai CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE Count_DishesAll_Pizza CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE Areas CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE Cities CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE DivisionsOfChina CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE Streets CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE Villages CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE DishesAll_Bapa15_100 CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE DishesAll_Cd CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE DishesAll_Fd CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE DishesAll_Milktea CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE DishesAll_Qsr_20_60 CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE CustomerData CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE ProductData CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE SSD2018 CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE SSD20162017 CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE CtripHotels CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE PoiData CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE PoiDataTotal CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE CustomerAddress CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE SSDTotal CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;