mysql-enum
来源:互联网 发布:大数据时代日语 编辑:程序博客网 时间:2024/06/07 13:58
创建枚举类型字段,需要在创建字段的时候给枚举类型赋初值
1、 创建表
2、 创建字段
3、 如果在创建枚举字段的时候没有给初值,默认只有Null或空值,如果想给没有赋初值的枚举字段给值,会报Data truncated for column错误,给值不成功
4、 如果想给枚举字段添加枚举值,需要先将使用枚举字段的数据全部删除,才能修改枚举值,rating为枚举类型的字段
alter table file modify column rating enum('G','PG','PG-13','R','NC-17');
参考:http://www.cnblogs.com/skillCoding/archive/2012/03/14/2395404.html
MYSQL中ENUM类型
ENUM 是一个字符串对象,其值通常选自一个允许值列表中,该列表在表创建时的列规格说明中被明确地列举。
在下列某些情况下,值也可以是空串("") 或 NULL:
· 如果将一个无效值插入一个 ENUM (即,一个不在允许值列表中的字符串),空字符串将作为一个特殊的错误值被插入。事实上,这个字符串有别于一个"普通的"空字符串,因为这个字符串有个数字索引值为 0。稍后有更详细描述。
· 如果一个 ENUM 被声明为 NULL,NULL 也是该列的一个合法值,并且该列的缺省值也将为 NULL 。如果一个 ENUM 被声明为 NOT NULL,该列的缺省值将是该列表所允许值的第一个成员。
每个枚举值均有一个索引值:
· 在列说明中列表值所允许的成员值被从 1 开始编号。
· 空字符串错误值的索引值为 0。这就意味着,你可以使用下面所示的 SELECT 语句找出被赋于无效 ENUM值的记录行。
mysql>SELECT * FROM tbl_name WHERE enum_col=0;
· NULL 值的索引值为 NULL。
例如,指定为 ENUM("one", "two","three") 的一个列,可以有下面所显示的任一值。每个值的索引值也如下所示:
值
索引值
NULL
NULL
""
0
"one"
1
"two"
2
"three"
3
换个枚举最大可以有 65535 个成员值。
从 MySQL 3.23.51 开始,当表被创建时,ENUM 值尾部的空格将会自动删除。
当为一个 ENUM 列赋值时,字母的大小写是无关紧要的。然而,以后从列中检索出来的值的大小写却是匹配于创建表时所指定的允许值。
如果在一个数字语境中检索一个ENUM,列值的索引值将被返回。例如,你可以像这样使用数字值检索一个 ENUM 列:
mysql> SELECTenum_col+0 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中的ENUM类型
- MySQL的Enum类型
- mysql中的ENUM类型
- mysql中的ENUM类型 .
- MYSQL中 ENUM 类型
- MYSQL中 ENUM 类型
- MYSQL中 ENUM 类型
- mysql enum类型字段
- Mysql之ENUM
- MYSQl中enum类型
- Mysql数据类型---ENUM
- ENUM和SET类型 mysql
- 慎用mysql的enum字段
- 慎用mysql的enum字段
- MySql enum字段使用问题
- MySQL数据类型 ENUM和SET
- mysql 中的enum枚举类型
- ARM第一部分-软件编程控制硬件的关键-寄存器
- 多态
- shell学习(照着抄)-日期天数计算
- svn怎么切换用户
- 面试经历
- mysql-enum
- 机器学习(七)白化whitening
- iOS上传失败提示"Request failed: unacceptable content-type: text/html"
- ARM第一部分-ARM体系结构要点总结
- 差分约束
- 使用pg_rman软件来实现postgresql数据库的备份恢复
- [手游新项目历程]第4天-PushFramework资料
- 控制器切换(网易新闻效果)
- ARM第一部分-S5PV210的内存什么的地址映射详解