14.2.5 Syntaxe de CREATE TABLE
14.2 Définition de données : CREATE , DROP , ALTER
14 Syntaxe des commandes SQL
Manuel de Référence MySQL 4.1 : Version Française
->Modification automatique du type de colonnes
|
14.2.5.1 Modification automatique du type de colonnes
Dans certains cas, MySQL change automatiquement la spécification d'une
colonne fournie dans la commande
CREATE TABLE
. (Cela peut aussi
arriver avec
ALTER TABLE
) :
-
Les colonnes
VARCHAR
avec une taille inférieure à quatre (4) sont
changées en
CHAR
.
-
Si l'une des colonnes d'une table est de taille variable, toute la ligne
est, par conséquent, de taille variable.
Ainsi, si une ligne contient une colonne de taille variable (
VARCHAR
,
TEXT
ou
BLOB
) toutes les colonnes
CHAR
de plus de trois
caractères sont transoformées en
VARCHAR
.
Cela ne change en rien la façon dont vous utilisez les colonnes. Pour MySQL,
VARCHAR
est simplement une autre façon de stocker les caractères.
MySQL effectue cette conversion car cela économise de la place, et rend les
calculs sur les tables plus rapides. Types de tables MySQL .
-
Depuis la version 4.1.0, si un champ
CHAR
ou
VARCHAR
est spécifié
avec une taille supérieure à 255, il est converti en
TEXT
.
C'est une fonctionnalité de compatibilité.
-
La taille d'affichage de
TIMESTAMP
doit être un nombre pair et être
compris entre 2 et 14. (2, 4, 6, 8, 10, 12 ou 14).
Si vous spécifiez une taille plus grande que 14, ou inférieure à 2, celle-ci
sera tranformée en 14. Les valeurs impaires sont rammenées à la valeur pair
supérieure la plus proche.
-
# Vous ne pouvez pas stocker de valeur littérale
NULL
dans une colonne
de type
TIMESTAMP
. Cette valeur sera remplacée par la date et l'heure
courante. De ce fait, les attributs
NULL
et
NOT NULL
n'ont pas
de sens pour ces colonnes et sont ignorés.
DESCRIBE nom_de_table
indiquera toujours que la colonne
TIMESTAMP
accepte les valeurs
NULL
.
-
MySQL change certains type de colonnes utilisés par d'autres serveurs SQL en types
MySQL. Using Column Types from Other Database Engines .
Si vous voulez voir si MySQL a utilisé un autre type que celui que vous avez spécifié,
utilisez la commande
DESCRIBE nom_de_table
, après votre création ou modification
de structure de table.
Certain types de colonnes peuvent être modifiés si vous compressez une table en
utilisant l'utilitaire
myisampack
. Caractéristiques des tables compressées .
|