做网站里面的内容,网络营销业务流程,wordpress一键 centos,建电子商务网站注意事项MySQL数据库中#xff0c;因为工作的需求#xff0c;我们可能会用到ENUM类型#xff0c;但是由于此类型不是很常用#xff0c;我们可能对其也不是很了解。没关系#xff0c;本文我们就对ENUM类型做一些详细的解释#xff0c;希望能够对您有所帮助。ENUM类型是一个字符串对…MySQL数据库中因为工作的需求我们可能会用到ENUM类型但是由于此类型不是很常用我们可能对其也不是很了解。没关系本文我们就对ENUM类型做一些详细的解释希望能够对您有所帮助。ENUM类型是一个字符串对象其值通常选自一个允许值列表中该列表在表创建时的列规格说明中被明确地列举。在下列某些情况下值也可以是空串() 或NULL。如果将一个无效值插入一个ENUM(即一个不在允许值列表中的字符串)空字符串将作为一个特殊的错误值被插入。事实上这个字符串有别于一个普通的空字符串因为这个字符串有个数字索引值为 0。稍后有更详细描述。如果一个ENUM被声明为NULLNULL也是该列的一个合法值并且该列的缺省值也将为NULL。如果一个ENUM被声明为NOT NULL该列的缺省值将是该列表所允许值的***个成员。每个枚举值均有一个索引值。在列说明中列表值所允许的成员值被从1 开始编号。空字符串错误值的索引值为0。这就意味着你可以使用下面所示的SELECT语句找出被赋于无效ENUM值的记录行。mysql SELECT * FROM tbl_name WHERE enum_col0;NULL值的索引值为NULL。例如指定为ENUM(one, two, three)的一个列可以有下面所显示的任一值。每个值的索引值也如下所示值索引值 NULLNULL0 one1 two2 three3 换个枚举***可以有 65535 个成员值。从MySQL 3.23.51 开始当表被创建时ENUM值尾部的空格将会自动删除。当为一个ENUM列赋值时字母的大小写是无关紧要的。然而以后从列中检索出来的值的大小写却是匹配于创建表时所指定的允许值。如果在一个数字语境中检索一个ENUM列值的索引值将被返回。例如你可以像这样使用数字值检索一个ENUM列mysql SELECT enum_col0 FROM tbl_name;如果将一个数字存储到一个ENUM中数字被当作为一个索引值并且存储的值是该索引值所对应的枚举成员。(但是这在LOAD DATA将不能工作因为它视所有的输入均为字符串。) 在一个ENUM字符串中存储数字是不明智的因为它可能会打乱思维。ENUM值依照列规格说明中的列表顺序进行排序。(换句话说ENUM值依照它们的索引号排序。)举例来说对于ENUM(a, b) a排在b后但是对于ENUM(b, a)b却排在a之前。空字符串排在非空字符串前NULL值排在其它所有的枚举值前。为了防止意想不到的结果建议依照字母的顺序定义ENUM列表。也可以通过使用GROUP BY CONCAT(col)来确定该以字母顺序排序而不是以索引值。如果希望得到一个ENUM列的所有可能值可以使用SHOW COLUMNS FROM table_name LIKE enum_colum来实现。关于MySQL数据库ENUM类型的知识就介绍到这里了如果您想了解更多MySQL数据库的知识可以看一下这里的文章http://database.51cto.com/mysql/相信一定可以给您带来收获的。【编辑推荐】【责任编辑赵鹏 TEL(010)68476606】点赞 0