Le type ENUM <<< |
Le type SET | Types de colonnes >>> |
12.4 Les types chaînes 12 Types de colonnes Manuel de Référence MySQL 4.1 : Version Française . Les types CHAR et VARCHAR . Les types BLOB et TEXT . Le type ENUM ->Le type SET |
12.4.4 Le type SET
Un SET est une chaîne qui peut avoir zéro ou plusieurs valeurs, chacune doit être choisie dans une liste de valeurs définies lors de la création de la table. Les valeurs des colonnes SET composées de plusieurs membres sont définies en séparant celles-ci avec des virgules ( ',' ). Ce qui fait que la valeur d'un membre de SET ne peut contenir lui même de virgule. Par exemple, une colonne définie en tant que SET("un", "deux") NOT NULL peut avoir l'une de ces valeurs :
A partir de la version 3.23.51, les espaces en trop sont automatiquement effacés des membres de SET lorsque la table est créée. MySQL enregistre les valeurs de SET numériquement. Le bit de poids faible de la valeur correspond alors au premier élément de la liste. Si vous utilisez une valeur SET dans un contexte numérique, les bits des éléments dans cet ensemble seront mis à un, et les autres à zéro. Par exemple, vous pouvez obtenir un entier à partir d'un ensemble comme ceci :
Si vous assignez 9 à cette colonne, cela donne 1001 en binaire, ce qui fait que les valeurs du premier et quatrième membres "a" et "d" sont sélectionnés et la valeur résultante est "a,d" . Pour les valeurs se composant de plus d'un membre du SET , l'ordre des membres n'a pas d'importance lors des insertions. Le nombre d'occurrence d'un élément n'importe pas non plus. Lorsque la valeur sera lue ultérieurement, chaque élément n'apparaîtra qu'une seule fois, et dans l'ordre donné à la déclaration de la colonne. Par exemple, si une colonne est spécifiée comme SET("a","b","c","d") , alors "a,d" , "d,a" , et "d,a,a,d,d" seront tous représentés par "a,d" .Si vous spécifiez une valeur incorrecte dans une colonne SET , la valeur sera ignorée. Les valeurs de SET sont triées numériquement. La valeur NULL précède toutes les autres.Normalement, vous exécuterez un SELECT sur une colonne SET en utilisant l'opérateur LIKE ou la fonction FIND_IN_SET() :
|
<< | Le type SET | >> |
Le type ENUM | Les types chaînes | Types de colonnes |