ENUM
Le type est ENUM une chaîne, dont la valeur est choisi dans une liste de valeurs autorisées, et spécifiées à la création de la table.
Cette valeur peut prendre les valeurs ("") ou NULL sous certaines conditions :@:
ENUM ( par exemple, une chaîne qui ne serait pas dans la liste des valeurs autorisées), une chaîne vide est insérée à la place, afin d'indiquer une erreur.
ENUM est déclarée NULL, NULL sera alors une valeur valide pour cette colonne, et la valeur par défaut sera aussi NULL. Si une ENUM est déclarée NOT NULL, la valeur par défaut sera le premier élément de la liste de valeurs autorisées.
Chaque énumération a un index.
SELECT pour rechercher des lignes qui auraient une valeur ENUM invalide :@:
mysql> SELECT clean_docs_mysql clean_docs-php debut.php fin.php index.php menu.php mysql php FROM Nom_table WHERE enum_col=0;
NULL est NULL.
Par exemple, une colonne de type ENUM("un", "deux", "trois") peut prendre chacune des valeurs ci-dessous. L'index de la valeur est aussi indiqué.
| Value | Index |
NULL | NULL
|
"" | 0 |
"one" | 1 |
"two" | 2 |
"three" | 3 |
Une énumération peut avoir au maximum 65535 éléments.
La casse des lettres est sans importance pour l'affection de valeur dans une colonne de type ENUM. Cependant, lorsque ces valeurs sont retournées, elles tiennent compte de la casse des lettres tels qu'elle a été spécifiées à la création de la table.
Lire une valeur de type ENUM dans un contexte numérique permet d'accèder à l'index de la valeur. De même, lors de l'affectation d'un nombre dans une valeur ENUM, le nombre sera traité comme un index, et la valeur enregistrée sera celle de l'énumération, à l'index précisé.
Les valeurs d'une énumération sont triée en fonction de l'ordre dans lequel les éléments de l'énumération sont enregistrés lors de la création de la colonne (en d'autres termes, les valeurs d'une énumération sont triées en fonction de leur index). Par exemple, "a" sera placé avant "b" pour ENUM("a", "b"), mais "b" sera placé avant "a" pour ENUM("b", "a").les chaînes vides sont placées avant les chaînes non vides, et la valeur NULL passe avant toutes les autres.
Pour visualiser toutes les valeurs d'une colonne de type, il faut utiliser SHOW COLUMNS FROM Nom_table LIKE Nom_col_enum et détailler les valeurs de la deuxième colonne.