binary类型

表结构

Create Table: CREATE TABLE `t1` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `bi` binary(3) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

binary类型也是保存字符串。

binary(M)这里的M表示的是需要保存的字符串最大字节

insert into t1 (bi) values (10);

执行结果

+----+------+
| id | bi   |
+----+------+
|  1 | 10   |
+----+------+

表结构binary(3)表示该字段最多存储3字节的字符量。10会被当做字符串"10"两个字节存储

insert into t1 (bi) values (321);

执行结果

+----+------+
| id | bi   |
+----+------+
|  1 | 10   |
|  2 | 321  |
+----+------+
insert into t1 (bi) values (4321);

执行结果

+----+------+
| id | bi   |
+----+------+
|  1 | 10   |
|  2 | 321  |
|  3 | 432  |
+----+------+

“4321”是4个字节,binary(3)类型只保存前三个字节

insert into t1 (bi) values ('');

执行结果

+----+------+
| id | bi   |
+----+------+
|  1 | 10   |
|  2 | 321  |
|  3 | 432  |
|  4 ||
+----+------+

utf-8编码 "我"占3个字节,刚好能保存

insert into t1 (bi) values ('我1');

执行结果

+----+------+
| id | bi   |
+----+------+
|  1 | 10   |
|  2 | 321  |
|  3 | 432  |
|  4 ||
|  5 ||
+----+------+

舍弃最后一个字节的字符"1"

猜你喜欢

转载自www.cnblogs.com/bibiafa/p/9209028.html
今日推荐