Maison > base de données > tutoriel mysql > Quelles sont les différentes propriétés du type de données MySQL ENUM ?

Quelles sont les différentes propriétés du type de données MySQL ENUM ?

WBOY
Libérer: 2023-08-28 12:17:02
avant
1213 Les gens l'ont consulté

MySQL ENUM 数据类型有哪些不同的属性?

Les types MySQL ENUM peuvent être définis avec les propriétés suivantes qui affectent les valeurs autorisées -

  • NOT NULL - Dans les types ENUM, les valeurs NULL sont autorisées par défaut. Pour désactiver les valeurs NULL, nous devons utiliser l'attribut NOT NULL lors de la description de la colonne ENUM.
  • NULL - L'attribut NULL est synonyme de DEFAULT NULL. La valeur d'index de NULL est NULL.
  • DEFAULT - L'attribut DEFAULT fait en sorte que le type de données ENUM ait une valeur par défaut lorsqu'aucune valeur n'est spécifiée. En d’autres termes, nous pouvons dire que l’instruction INSERT ne doit pas nécessairement contenir la valeur du champ car si ce n’est pas le cas, la valeur qui suit DEFAULT sera insérée. DEFAULT Les fonctions ne sont pas autorisées dans les expressions. Pour le type de données ENUM, les valeurs DEFAULT incluent NULL et la chaîne vide ('').

Exemple

L'exemple suivant démontrera l'utilisation de ces propriétés avec le type de données ENUM.

mysql> SET SESSION sql_mode = '';
Query OK, 0 rows affected (0.00 sec)

mysql> Create Table enumtesting(e_value ENUM('a','1')NOT NULL DEFAULT '1',id TINYINT NOT NULL);
Query OK, 0 rows affected (0.23 sec)

mysql>Insert into
enumtesting(e_value,id)values('1','1'),('',2),(NULL,3),('abc',4);
Query OK, 4 rows affected, 3 warnings (0.09 sec)
Records: 4 Duplicates: 0 Warnings: 3

mysql> show warnings;
+---------+------+----------------------------------------------------+
| Level   | Code |  Message                                           |
+---------+------+----------------------------------------------------+
| Warning | 1265 | Data truncated for column 'e_value' at row 2       |
| Warning | 1048 | Column 'e_value' cannot be null                    |
| Warning | 1265 | Data truncated for column 'e_value' at row 4       |
+---------+------+----------------------------------------------------+
3 rows in set (0.00 sec)

mysql> Select * from enumtesting;
+----+---------+
| e_value | id |
+---------+----+
| 1       |  1 |
|         |  2 |
|         |  3 |
|         |  4 |
+---------+----+
4 rows in set (0.00 sec)

mysql> insert into enumtesting(id) values(5);
Query OK, 1 row affected (0.11 sec)

mysql> Select * from enumtesting;
+---------+----+
| e_value | id |
+---------+----+
| 1       | 1 |
|         | 2 |
|         | 3 |
|         | 4 |
| 1       | 5 |
+---------+----+
5 rows in set (0.00 sec)

mysql> select e_value, e_value+0 AS enum_index, id from enumtetsing;
+---------+------------+----+
| e_value | enum_index | id |
+---------+------------+----+
| 1       |          2 |   1|
|         |          0 |   2|
|         |          0 |   3|
|         |          0 |   4|
| 1       |          2 |   5|
+---------+------------+----+
5 rows in set (0.00 sec)
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal