Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Warum sehe ich COLLATION „xxx“ ist nicht gültig für CHARACTER SET „yyy“

  1. Warum eine COLLATE-Klausel beim Vergleich von BIGINTs im Vergleich zu Literalzahlen? Entfernen Sie die COLLATE-Klausel in der UPDATE-Anweisung. - Dies ist laut den Kommentaren von OP die Hauptlösung.

  2. Befindet sich der Code in einer gespeicherten Routine, die mit latin1 erstellt wurde? Zeigen Sie CREATE PROCEDURE (oder FUNCTION) an, um zu sehen, ob dies der Fall ist. Wenn ja, dann DROP und RECREATE es mit utf8mb4 in Kraft.

  3. Es ist riskant, character_set_filesystem und character_set_server zu ändern. Ändern Sie sie zurück.