Os seguintes exemplos mostram como o MySQL determina valores de conjunto de caracteres e collations padrões.
Exemplo 1: Definição de Tabela + Coluna
CREATE TABLE t1 ( c1 CHAR(10) CHARACTER SET latin1 COLLATE latin1_german1_ci ) DEFAULT CHARACTER SET latin2 COLLATE latin2_bin;
Aqui você tem uma coluna com um conjunto de caracteres
latin1
e um collation
latin1_german1_ci
. A definição é
explicita, assim ele é direto. Note que não há problemas em
armazenar uma coluna latin1
em uma tabela
latin2
.
Example 2: Definição de Tabela + Coluna
CREATE TABLE t1 ( c1 CHAR(10) CHARACTER SET latin1 ) DEFAULT CHARACTER SET latin1 COLLATE latin1_danish_ci;
Desta vez temos uma coluna com um conjunto de caracteres
latin1
e uma collation padrão. Agora, embora
possa parecer natural, a collation padrão é tomada do nível
de tabela. Como a collation padrão para
latin1
é sempre
latin1_swedish_ci
, a coluna
c1
terá uma collation
latin1_swedish_ci
(e não
latin1_danish_ci
).
Exemplo 3: Definição de Tabela + Coluna
CREATE TABLE t1 ( c1 CHAR(10) ) DEFAULT CHARACTER SET latin1 COLLATE latin1_danish_ci;
Temos uma coluna com um conjunto de caracteres padrão e uma
collation padrão. Nesta circunstância, o MySQL olha para o
nível de tabela para determinar o conjunto de caracteres e
collation de coluna. Assim o conjunto de caracteres para colune
c1
é latin1
e sua
collation é latin1_danish_ci
.
Exemplo 4: Definição de Banco de Dados + Tabela + Coluna
CREATE DATABASE d1 DEFAULT CHARACTER SET latin2 COLLATE latin2_czech_ci; USE d1; CREATE TABLE t1 ( c1 CHAR(10) );
Criamos uma coluna sem especificar seu conjunto de caracteres e
collation. Também não especificamos um conjunto de caracteres
e uma collation na nível de tabela. Nestas circubntâncias, o
MySQL olha para o nível de banco de dados para a
determinação. (A configuração do banco de dados se torna a
configuração da tabela e então a configuração da coluna).
Assim o conjunto de caracteres para coluna c1
é latin2
e sua collation é
latin2_czech_ci
.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.