ENUM类型

Posted bibiafa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ENUM类型相关的知识,希望对你有一定的参考价值。

表结构

Table: t1
Create Table: CREATE TABLE `t1` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `en` enum(a,b,c,d) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8

 

insert into t1 (en) values (3);

执行结果:

+----+------+
| id | en   |
+----+------+
|  1 | c    |
+----+------+

enum类型的值是字母‘a‘,‘b‘,‘c‘,‘d‘,但是mysql在存储enum类型时,存储的是编号1,2,3,4。

 

insert into t1 (en) values (a);

执行结果:

+----+------+
| id | en   |
+----+------+
|  1 | c    |
|  2 | a    |
+----+------+

直接保存‘a‘或者保存a的编号,都行

 

insert into t1 (en) values (e);

执行结果:

+----+------+
| id | en   |
+----+------+
|  1 | c    |
|  2 | a    |
|  3 |      |
+----+------+

保存不在enum里面的值时,在非严格模式下实际保存空字符串。

select * from t1 where en="";

执行结果:

+----+------+
| id | en   |
+----+------+
|  3 |      |
+----+------+

 


以上是关于ENUM类型的主要内容,如果未能解决你的问题,请参考以下文章

java中的enum

使用代码段遍历,枚举类型Enum

sql enum类型

C#如何将枚举类(enum)型转换成字符(string)类型

java枚举类型enum用法

java 的 枚举类型 在Eclipse里面用enum报错