-
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.
-
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.
-
Il est risqué de modifier character_set_filesystem et character_set_server. Remettez-les en place.