Mysql
 sql >> Base de données >  >> RDS >> Mysql

Pourquoi est-ce que je vois COLLATION 'xxx' n'est pas valide pour CHARACTER SET 'yyy'

  1. Pourquoi avoir une clause COLLATE lors de la comparaison d'un BIGINT par rapport à des nombres littéraux ? Supprimez la clause COLLATE dans l'instruction UPDATE. -- C'est la solution principale, selon les commentaires d'OP.

  2. Le code est-il à l'intérieur d'une routine stockée qui a été construite avec latin1 ? Faites SHOW CREATE PROCEDURE (ou FUNCTION) pour voir si c'était le cas. Si tel est le cas, supprimez-le et reCRÉEZ-le avec utf8mb4 en vigueur.

  3. Il est risqué de modifier character_set_filesystem et character_set_server. Remettez-les en place.