Mysql之枚举类型与集合类型
我们先创建一个数据库表,这里是创建语句:
create table consumer(
id int,
name char(16),
sex enum('male','female','other'),
level enum('vip1','vip2','vip3'),
hobbies set('play','music','read','run')
)
枚举在这里的意思是,只能从这里边选择一个,而集合set的意思是可以在set那里边选择多个。
输入插入语句
insert into consumer values(1,'egon','male','vip2','music,read')
也许有人好奇,如果在enum对应的那里输入多个会如何?
insert into consumer values(2,'eg','male','vip1,vip2','music,read')
运行,去看表的内容:
可以看到,id为2这一行,level为空
那假如是set对应的那块输入多个:
insert into consumer values(3,'eg','male','vip2','music,read,aaa')
运行,查看表:
可以看到,hobby为aaa的并未插入(因为不在创建表时的set中)