+ -
当前位置:首页 → 问答吧 → 求助longblob问题

求助longblob问题

时间:2011-08-10

来源:互联网

我在一个表中有多个longblob字段,当字段中存入数据是读出是正确的,但如果某个字段没有存入数据,在读这个字段的长度时,得到结果是长度为四,转换成int数值是1280070990,没有写入数据读出不是应该为空,长度是零吗?为什么出现这种情况,怎么才能解决呢?谢谢。

作者: mingguang7213   发布时间: 2011-08-10

哪位大佬给解答一下啊

作者: mingguang7213   发布时间: 2011-08-10

哪位前辈遇到过类似的问题啊

作者: mingguang7213   发布时间: 2011-08-10

LONGBLOB 类型是变长类型,它的内容格式是:内容长度:内容。当然,对用户是透明的,实际取内容的时候不会把“内容长度”取出来。该内容长度不管有没有内容都会存在的,需要四个字节来保存,因此有你的那个现象了。

作者: nicenight   发布时间: 2011-08-10

引用 3 楼 nicenight 的回复:
LONGBLOB 类型是变长类型,它的内容格式是:内容长度:内容。当然,对用户是透明的,实际取内容的时候不会把“内容长度”取出来。该内容长度不管有没有内容都会存在的,需要四个字节来保存,因此有你的那个现象了。

学习

作者: rucypli   发布时间: 2011-08-10

为什么我在存入数据后,在得到的长度就不包含这四个字节了呢

作者: mingguang7213   发布时间: 2011-08-10

引用 5 楼 mingguang7213 的回复:

为什么我在存入数据后,在得到的长度就不包含这四个字节了呢

这个是不是你们自己人为造成的。
mysql当中可不是这么规定的。
你不存入任何数据时,其内容为NULL,怎么会有长度值。
应该是你们自己存储数据时,显示的用长度+内容来存入的。
还是检查一下自己的代码,看看哪个地方出了问题。

作者: iihero   发布时间: 2011-08-10