sexta-feira, 4 de outubro de 2013

Alterar o Collation do Banco de Dados MySql



Existem configurações para conjuntos de caracteres e Collations em quatro níveis: servidor, banco de dados, tabela e conexão.

Collation nada mais é que a codificação de caracteres existente no Banco de Dados.

Quando você realiza a migração do conteúdo de um banco de dados, algumas vezes, pode haver conflitos no collation do banco migrado.


1. Alterar o collation da base de dados pelo PhpMyAdmin:
• Clique no nome do banco de dados;
• Localize e clique na aba “Operações”;
• Em “Collation”, selecione o desejado;
• Clique em “Executar”.

2. Alterar o collation da tabela pelo PhpMyAdmin:
• Clique no nome da tabela (Ex: produtos);
• Em seguida localize e clique na aba “Operações”;
• Nesta tela, localize “Opções da tabela” > “Collation”;
• Altere para o collation desejado;
• Clique em “Executar”.


3. Alterar o collation do campo de uma tabela pelo PhpMyAdmin:
• Clique no nome da tabela (Ex: cliente);
• Localize o campo desejado;
• Clique em “Editar” identificado com o ícone de um “Lápis”;
• Verifique e altere o campo Collation como desejar;
• Clique em “Executar”.

Para desenvolvedores com um conhecimento avançado, disponibilizamos alguns exemplos de comandos SQL a serem executadas através de Query.

4. Alterar o collation da base de dados:
ALTER DATABASE ‘base-de-dados’ DEFAULT CHARACTER SET charset COLLATE collation;

Ex:
ALTER DATABASE `base_de_dados` DEFAULT CHARACTER SET latin1 COLLATE latin1_general_ci;

ALTER DATABASE `base_de_dados` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

5. Alterar o collation da tabela:
ALTER TABLE ‘tabela’ DEFAULT CHARACTER SET charset COLLATE collation;

Ex:
ALTER TABLE `produtos` DEFAULT CHARACTER SET latin1 COLLATE latin1_general_ci;
ALTER TABLE `clientes` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

6. Alterar o collation do campo de uma tabela:
ALTER TABLE tabela CHANGE campo_nomeatual campo_novonome tipo(tamanho) CHARACTER SET encoding COLLATE collation;

Ex:
ALTER TABLE `produtos` CHANGE `nome` `nome` TEXT CHARACTER SET latin1 COLLATE latin1_general_ci;
ALTER TABLE `clientes` CHANGE `nome` `nome` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_general_ci;

Nenhum comentário:

Postar um comentário