您的位置:首页 > 数据库 > MySQL

MySQL字段中的枚举

2011-10-31 23:26 246 查看
字段是MySQL数据库的重要组成部分,下文对MySQL字段中的枚举作了详尽的阐述,如果您对此方面感兴趣的话,不妨一看。

AD:

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 |

+-------+

而枚举只能有一个
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: