SET类型

Posted bibiafa

tags:

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

表结构

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

 mysql保存set类型也是根据数字下标来保存的,但是和enum类型不同的是,enum类型下标是1,2,3,4,5...而set类型下标则是1,2,4,8,16...

 

insert into t1 values (null,10);

执行结果

+----+------+
| id | se   |
+----+------+
|  1 | b,d  |
+----+------+

2+8=10;2对应‘b‘,8对应‘d‘

 

insert into t1 values (null,100);

执行结果

+----+------+
| id | se   |
+----+------+
|  1 | b,d  |
|  2 | c    |
+----+------+

100 = 64+32+4 而这里没有64和32对应的字符,4对应的字符为‘c‘。得到的结果就是保存‘c‘

 

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

在代码片段中包含类型转换

[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段

请问 -> 的用法和这是啥类型的构造?

对这个带有 & 不带 = 的代码片段返回类型感到非常困惑

有人可以解释以下 R 代码片段吗? [关闭]

Bash的变量类型