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 SETUn 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 :
Un SET peut avoir au plus 64 membres. 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 :
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'occurence d'un élément n'importe pas non plus. Lorsque la valeur sera lue ultérieurement, chaque élément n'appara&icrirc;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() :
Si vous voulez connaître toutes les valeurs possible d'une colonne SET , vous devez utiliser : SHOW COLUMNS FROM nom_de_table LIKE nom_colonne_set et étudier la définition du SET dans la seconde colonne. |
<< | Le type SET | >> |
Le type ENUM | Les types chaînes | Types de colonnes |