mysql中的枚举类型和位数据类型
- 定义一个枚举类型
create TABLE xxx( e ENUM('AA','BB','CC') NOT NULL) - 插入枚举类型值
INSERT INTO xxx(e) VALUES('AA'),('BB')
枚举类型和一般字符串类型的比较
- 在mysql中,枚举类型会在表的内部被替换为一个整数,并且在
.frm文件中有相应的关系映射表 - 枚举字段是按照整数顺序排序,而不是按照字符串顺序排序,要想按照字符串排序,可使用
ORDER BY FIELD(e, 'AA','BB','CC')
这里就是按照给定的AA,BB,CC顺序排序 - 枚举不适合表示变长字符串,需要改动表
- 枚举因为整数的原因所以列表比较小,枚举和枚举之间关联要比枚举和字符串类型的关联快得多
浙公网安备 33010602011771号