sql >> Database teknologi >  >> RDS >> Mysql

Hvorfor ser jeg SAMLING "xxx" er ikke gyldig for CHARACTER SET "yyy"

  1. Hvorfor have en COLLATE-klausul, når man sammenligner en BIGINTs sammenlignet med bogstavelige tal? Fjern COLLATE-sætningen i UPDATE-sætningen. -- Dette er hovedløsningen ifølge OP's kommentarer.

  2. Er koden inde i en lagret rutine, der er bygget med latin1? VIS OPRET PROCEDURE (eller FUNKTION) for at se, om det var tilfældet. Hvis det er tilfældet, så SLIP og genskab det med utf8mb4 i kraft.

  3. Det er risikabelt at ændre character_set_filesystem og character_set_server. Skift dem tilbage.




  1. Sådan gemmer du UTF8-tegn i MySQL

  2. Ekstra felter med SQL MIN() &GROUP BY

  3. Match en sætning, der ender på et præfiks, med fuldtekstsøgning

  4. Dynamisk kædet valgboks