-
Perché avere una clausola COLLATE quando si confronta un BIGINT rispetto ai numeri letterali? Rimuovi la clausola COLLATE nell'istruzione UPDATE. -- Questa è la soluzione principale, secondo i commenti di OP.
-
Il codice è all'interno di una routine memorizzata che è stata compilata con latin1? Esegui SHOW CREATE PROCEDURE (o FUNCTION) per vedere se fosse così. In tal caso, rilascialo e ricrealo con utf8mb4 in vigore.
-
È rischioso modificare il filesystem_set_caratteri e il server_set_caratteri. Cambiali di nuovo.