SQLyog
 sql >> Base de Dados >  >> Database Tools >> SQLyog

Definir a conexão/servidor MySQL para utf8mb4 em vez de uft8 está quebrando procedimentos armazenados no SQLYog


Do SQLyog:
SET NAMES 'utf8mb4' COLLATE 'utf8_bin';

Error Code: 1253
COLLATION 'utf8_bin' is not valid for CHARACTER SET 'utf8mb4'

experimentar:
SET NAMES 'utf8mb4' COLLATE 'utf8mb4_bin';

Usando SQLyog Community v12.2.2 (64 bits) e MySQL 5.5.49 pode modificar (abrir) e criar novos procedimentos armazenados sem problemas.
VERSION()
-----------
5.5.49

SET NAMES 'utf8mb4' COLLATE  'utf8mb4_bin';

SET SESSION collation_connection = 'utf8mb4_bin',
            collation_server = 'utf8mb4_bin',
            collation_database = 'utf8mb4_bin';

SHOW VARIABLES WHERE
    `Variable_Name` != 'character_sets_dir' AND
    (`Variable_Name` LIKE '%CHAR%' OR
    `Variable_Name` LIKE '%COLL%');

Variable_name             Value        
------------------------  -------------
character_set_client      utf8mb4      
character_set_connection  utf8mb4      
character_set_database    utf8mb4      
character_set_filesystem  binary       
character_set_results     utf8mb4      
character_set_server      utf8mb4      
character_set_system      utf8         
collation_connection      utf8mb4_bin  
collation_database        utf8mb4_bin  
collation_server          utf8mb4_bin