知数堂MySQL学习

随笔:MySQL中'' ' ' NULL在Innodb存储的区别

2019-11-11  本文已影响0人  重庆八怪

一、测试环境

mysql> create table testn(a varchar(20),b varchar(20));
Query OK, 0 rows affected (0.43 sec)

mysql> insert into testn values('','gaopeng');
Query OK, 1 row affected (0.08 sec)

mysql> insert into testn values(' ','gaopeng');
Query OK, 1 row affected (0.12 sec)

mysql> insert into testn values(NULL,'gaopeng');
Query OK, 1 row affected (0.08 sec)

mysql> commit;
Query OK, 0 rows affected (0.00 sec)

我们看到包含了3行,包含了3种情况,下面我们分别分析。

二、解析

第一行 insert into testn values('','gaopeng');

原始存储如下:

070000000010002200000014061c000000002fe5bb0000016e011067616f70656e67

第二行:insert into testn values(' ','gaopeng');

原始存储如下:

070100000018002200000014061d000000002fe6bc0000017901102067616f70656e67

第三行:insert into testn values(NULL,'gaopeng');

原始存储如下:

0701000020ffac00000014061e000000002febbf0000017c011067616f70656e67

三、总结

上一篇 下一篇

猜你喜欢

热点阅读