mysql问题Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT)

show table status from oa 


SELECT
  TABLE_SCHEMA '数据库',
  TABLE_NAME '表',
  COLUMN_NAME '字段',
  CHARACTER_SET_NAME '原字符集',
  COLLATION_NAME '原排序规则',
  CONCAT( 'ALTER TABLE ', TABLE_SCHEMA, '.', TABLE_NAME, ' MODIFY COLUMN ', COLUMN_NAME, ' ', COLUMN_TYPE, ' CHARACTER SET utf8 COLLATE utf8_general_ci;' ) '修正SQL' 
FROM
  information_schema.`COLUMNS` 
WHERE
  TABLE_SCHEMA='oa' 
  

解决方案: 让关联表的字符编码一致

1.修改表中所有字符编码

  ALTER TABLE nms_blacklist CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;   

2…修改表的字符编码

ALTER TABLE 表名 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

此接口的
ON 后面加上 COLLATE utf8mb4_general_ci
解决方案实际应用

LEFT JOIN ( SELECT * FROM ( SELECT * FROM biz_task_queue ORDER BY create_date DESC LIMIT 10000 ) a GROUP BY relevance

你可能感兴趣的:(mysql,数据库,sql)