MySQL ENUM数据类型的不同属性是什么?

可以使用以下影响允许值的属性来定义MySQL ENUM类型-

  • NOT NULL-  在ENUM类型中,默认情况下允许NULL值。要禁止NULL值,我们需要在描述ENUM列时使用NOT NULL属性。

  • NULL  -NULL属性是DEFAULT NULL的同义词。NULL的索引值为NULL。

  • DEFAULT  -DEFAULT属性使ENUM数据类型在未指定值时具有默认值。换句话说,我们可以说INSERT语句不必为此字段包含值,因为如果不包含该字段,则将插入DEFAULT之后的值。DEFAULT表达式中不允许使用函数。对于ENUM数据类型,DEFAULT值包括NULL和空字符串('')。

示例

下面的示例将展示如何将这些属性与ENUM数据类型一起使用。

mysql> SET SESSION sql_mode = '';

mysql> Create Table enumtesting(e_value ENUM('a','1')NOT NULL DEFAULT '1',id TINYINT NOT NULL);

mysql>Insert into

enumtesting(e_value,id)values('1','1'),('',2),(NULL,3),('abc',4);

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);

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)

以上是 MySQL ENUM数据类型的不同属性是什么? 的全部内容, 来源链接: utcz.com/z/357801.html

回到顶部