conjunto mysql caráter de banco de dados, tabelas de conjunto de caracteres, colunas, prioridade conjunto de caracteres e modificar o conjunto de caracteres utf8 mesa é se os dados antes do impacto da utf8mb4 abreviado

myslq pode ser proporcionado a nível da base de dados, o nível de tabela, o nível de coluna conjunto de caracteres de codificação;

Ordem de prioridade: o conjunto de caracteres de banco de dados <set set tabela <caráter coluna de caracteres;

Isso é níveis inconsistentes dos três conjuntos de caracteres acima, para configurar um intervalo menor do assunto;

Por exemplo: um conjunto de caracteres padrão do banco de dados é conjuntos de caracteres utf8 caso utf8 não definir a tabela, se a tabela definida automaticamente a codificação utf8mb4; em seguida, o conjunto de codificação de caracteres em cima da mesa para o utf8MB4;

 

 

Porque haverá palavras raras depois de ser dada a acumulação de chumbo, falha de armazenamento de dados; por isso decidi a maioria dos dados do utf8mb4 mesa utf8 mudou, começou a pensar em duas questões:

1, quando uma tabela de transcodificação, se a tabela depois de um comprimento de campo de transferência excede o ajuste 255 comprimento máximo, a tabela de conversão de código não for bem sucedida, os dados irão ser bem sucedido ou anormal; 2, conversão de código, o comprimento do byte as mudanças podem resultar na memória caractere normal originais 255 agora não são armazenados adequadamente impedindo parte do original podem ser armazenados dados de campo, comprimento armazenado agora se torna curto para o armazenamento;

 

Mais tarde, por meio do teste para obter a resposta - nenhum efeito;

O primeiro ponto. Mysql versão 5.0 ou superior, porque, VARCHAR (255), 255 refere-se a um carácter; máximo 65532 bytes; portanto VARCHAR (255) mudar o conjunto de caracteres, embora este limite, não mais do que o número máximo de bytes, que não irá ser afectada;

O segundo ponto: o conjunto de caracteres para modificar a tabela, eles podem escolher se deseja atualizar os dados existentes (seja com um novo conjunto de caracteres é armazenado), ou só têm efeito sobre a inserção posterior de dados (dados sem processamento existente);

Demonstrações são os seguintes:

1 Antes de modificar o conjunto de caracteres da tabela e atualizar os dados existentes, você pode ver três registros depois de modificar o existente afetadas; (se você precisa definir atrás do agrupamento aumento COLLATE agrupamento    pode)

A Mesa do ALTER table_name CONVERT para o conjunto de caracteres   novos conjuntos de caracteres

2 conjunto de caracteres muda para a mesa, mas não antes de os dados existentes atualizar, você pode ver depois de modificar o comportamento afetada 0; (se você precisa definir atrás do agrupamento aumento COLLATE agrupamento    pode)

A Mesa do ALTER nome_da_tabela o padrão para o conjunto de caracteres   novos conjuntos de caracteres

 

Publicado 301 artigos originais · 197 ganhou elogios · vista 270 000 +

Acho que você gosta

Origin blog.csdn.net/boss_way/article/details/103033018
Recomendado
Clasificación