mysql中的 enum 类型

MySQL 四种特殊数据类型 ENUM、SET、BOOL/BOOLEAN、TINYINT

(1). 四种数据类型的存储范围是所属分类中较小或最小数据类型;

(2). ENUM、SET属于字符串类型;

(3). BOOL/BOOLEAN、TINYINT属于数值类型;

(4). BOOL/BOOLEAN与TINYINT的存储空间范围相同,所占存储空间也相同;

其中 ENUM 类型:

a) 枚举类型ENUM字段定义的值域列表中,元素的数量最大不能超过65535;

b) 枚举类型ENUM字段的每个元素值,可以为数字、字母、特殊符号等,必须用一对单引号或一对双引号括起来;

c) 枚举类型ENUM字段的每个元素值必须为常量值,不允许使用变量、任何函数或表达式;

d) 枚举类型ENUM字段定义的值域列表中,不允许显示出现NULL值;

e) 枚举类型ENUM字段存储的值,允许为NULL,且NULL值的序列编号为NULL;

f) 枚举类型ENUM字段定义为非NULL时,则定义语法中默认关键字指定的值,也必须为枚举类型ENUM字段定义的值域列表中存在的值;

g) 枚举类型ENUM字段定义为非NULL时,字段无指定的值写入,若是有显示申明的默认值时,采用默认关键字指定的值;若字段定义无指定默认关键的时,则使用枚举类型ENUM字段定义的值域列表中第一个元素作为默认值;

h) 枚举类型ENUM字段定义没有显式申明为非NULL时,则默认是值为NULL;

推荐阅读更多精彩内容