Em alguns casos, MySQL altera sem aviso uma especificação de
coluna dada em uma instrução CREATE
TABLE
. (Isto também pode ocorrer com ALTER
TABLE
.):
Colunas VARCHAR
com um tamanho menor
que quatro são alteradas para CHAR
.
Se qulquer coluna em uma tabela tem um tamanho variável,
toda a linha é de tamanho varável como resultado.
Consequentementem se uma tabela contém qualquer coluna de
tamanho variável (VARCHAR
,
TEXT
, ou BLOB
),
todas as colunas CHAR
maior que três
caracteres são alteradas para colunas
VARCHAR
. Isto não afeta como você
utiliza as colunas; no MySQL, VARCHAR
é apenas um modo diferente de armazenar caracteres. O
MySQL realiza esta conversão porque ela salva espaço e
torna as operções de tabela mais rápidas. See
Capítulo 7, Tipos de Tabela do MySQL.
A partir da versão 4.1.0, se um campo
CHAR
ou VARCHAR
com
uma especificação de tamanho maior que 255 é convertido
para TEXT
. Este é um recurso para
compatibilidade.
O tamanho do display TIMESTAMP
deve ser
para e na faixa de 2 a 14. Se você especificar um tamanho
de display de 0 opu maior que 14, o tamaho é convertido
para 14. Tamanhos de valor ímpar na faixa de 1 a 13 são
convertidos para o número para mais próximo acima.
Você não pode armazenar um NULL
literal em uma coluna TIMESTAMP
;
definí-la com NULL
a atribui a data e
hora atual. Por colunas TIMESTAMP
comportarem deste modo, os atributos
NULL
e NOT NULL
não
se aplicam no modo normal e são ignorados se você
especificá-los. DESCRIBE nome_tabela
sempre indica que a uma coluna
TIMESTAMP
pode ser atribuído valores
NULL
.
MySQL mapeia certos tipos de colunas utilizados por outros produtos de banco de dados para tipos MySQL. See Secção 6.2.5, “Usando Tipos de Colunas de Outros Mecanismos de Banco de Dados”.
Se você quiser ver se o MySQL utiliza um tipo de coluna
diferente do especificado, axecute uma instrução
DESCRIBE nome_tabela
depois de criar ou
alterar a sua tabela.
Outras alterações de tipos de colunas podem ocorrer se você
compactar a tabela utilizando myisampack
.
See Secção 7.1.2.3, “Características de Tabelas Compactadas”.
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.