MySQL字段中的枚舉
MySQL字段相信大家都有一些了解,下面將為您介紹的是MySQL字段中的枚舉,希望對(duì)您學(xué)習(xí)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");
序號(hào)為 1 2 3 4 5
內(nèi)容沒(méi)有序號(hào)也沒(méi)有就不能插入
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
可以自動(dòng)將記錄當(dāng)序號(hào)匹配成新的字段值(挺神奇)
mysql> select * from meiju;
+------+
| f1 |
+------+
| a |
| b |
| b |
| f |
+------+
一個(gè)記錄只能有一個(gè)枚舉值 不像set 可以累加
mysql> insert into meiju values(7);
ERROR 1265 (01000): Data truncated for column 'f1' at row 1
注意***輸入的是值得時(shí)候值要加引號(hào) 否則當(dāng)作序號(hào)來(lái)處理
當(dāng)帶引號(hào)的數(shù)字不符合枚舉要求時(shí)會(huì)試一試當(dāng)作序號(hào)合適不合適
如 insert into meiju values("7");
7不在枚舉值內(nèi) 就插入第7個(gè)值 如果沒(méi)有7個(gè)值則報(bào)錯(cuò)
集合 和 枚舉的區(qū)別
1 集合可以有64個(gè)值 枚舉有65535個(gè)
2 集合的序號(hào)是 1 2 4 8 16 枚舉是 1 2 3 4 5 6
3 集合一個(gè)字段值可以有好幾個(gè)值
+-------+
| f1 |
+-------+
| f,m |
+-------+
而枚舉只能有一個(gè)
【編輯推薦】