Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Por que estou vendo COLLATION 'xxx' não é válido para CHARACTER SET 'yyy'


  1. Por que ter uma cláusula COLLATE ao comparar BIGINTs em comparação com números literais? Remova a cláusula COLLATE na instrução UPDATE. -- Esta é a principal solução, conforme comentários do OP.

  2. O código está dentro de uma rotina armazenada que foi construída com latin1? Faça SHOW CREATE PROCEDURE (ou FUNCTION) para ver se esse era o caso. Se sim, então DROP e recrie com utf8mb4 em vigor.

  3. É arriscado alterar character_set_filesystem e character_set_server. Troque-os de volta.