MySQL字段相信大家都有一些了解,下面将为您介绍的是MySQL字段中的枚举,希望对您学习MySQL字段方面能够有所帮助。

MySQL字段中的枚举:
mysql> create table meiju(f1 enum('1','2','3','4','5','6'));
 Query OK, 0 rows affected (0.92 sec)
mysql> desc meiju;
 +-------+-------------------------------+------+-----+---------+-------+
 | Field | Type                          | Null | Key | Default | Extra |
 +-------+-------------------------------+------+-----+---------+-------+
 | f1    | enum('1','2','3','4','5','6') | YES  |     | NULL    |       |
 +-------+-------------------------------+------+-----+---------+-------+
mysql> insert into meiju values(2);
mysql> insert into meiju values("2");
mysql> insert into meiju values("6");
序号为 1 2 3 4 5
内容没有序号也没有就不能插入
mysql> insert into meiju values(8);
 ERROR 1265 (01000): Data truncated for column 'f1' at row 1
 mysql> insert into meiju values("8");
 ERROR 1265 (01000): Data truncated for column 'f1' at row 1
mysql> select * from meiju;
 +------+
 | f1   |
 +------+
 | 1    |
 | 2    |
 | 2    |
 | 6    |
 +------+
改表
mysql> alter table meiju modify f1 enum("a","b","c","d","e","f");
 Query OK, 4 rows affected (0.39 sec)
 Records: 4  Duplicates: 0  Warnings: 0
可以自动将记录当序号匹配成新的字段值(挺神奇)
mysql> select * from meiju;
 +------+
 | f1   |
 +------+
 | a    |
 | b    |
 | b    |
 | f    |
 +------+
一个记录只能有一个枚举值 不像set 可以累加
mysql> insert into meiju values(7);
 ERROR 1265 (01000): Data truncated for column 'f1' at row 1
注意***输入的是值得时候值要加引号 否则当作序号来处理
当带引号的数字不符合枚举要求时会试一试当作序号合适不合适
如 insert into meiju values("7");
7不在枚举值内 就插入第7个值 如果没有7个值则报错
集合 和 枚举的区别
1 集合可以有64个值 枚举有65535个
2 集合的序号是 1 2 4 8 16 枚举是 1 2 3 4 5 6
3 集合一个字段值可以有好几个值
+-------+
 | f1    |
 +-------+
 | f,m   |
 +-------+
而枚举只能有一个
【编辑推荐】
MySQL添加字段和删除字段
MySQL字段类型简介
Mysql外键用法分析
MySQL定义外键的方法
MySQL转换Oracle的七大注意事项