引用
mysql> CREATE TABLE enum_test(
->
e ENUM('fish', 'apple', 'dog') NOT NULL
-> );
mysql> INSERT INTO enum_test(e) VALUES('fish'), ('dog'), ('apple');
mysql> SELECT e + 0 FROM enum_test;
+-------+
| e + 0 |
+-------+
|
1 |
|
3 |
|
2 |
+-------+
ENUM字段排序是按照内部存储的整数排的,你可以显示的使用FIELD来指定排序的方式。
引用
mysql> SELECT e FROM enum_test ORDER BY FIELD(e, 'apple', 'dog', 'fish');
+-------+
| e
|
+-------+
| apple |
| dog
|
| fish |
+-------+
ENUM最大的缺点是字符串列表是固定大小的,添加和删除一个字符串需要使用ALTER TABLE,所以如果你表示的字符串有可能在将来改变,那么使用ENUM并不是一个好的主意。
如果ENU