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的七大注意事項