视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
二进制-mysql数据库中blob类型存储数字无法正常插入更新
2020-11-09 16:54:19 责编:小采
文档


二进制数据库存储mysql

事情是这样的,在Mysql数据库中有个字段是blob类型的,里面存放的是 8字节无符号整数,
类似于 33454690,456723,这样一类数值,我使用select 语句select conv(hex(bc.DataTimeStamp) ,16,10) as DataTimestamp 是可以正常显示的,现在我想把
33454690 这个数字 查找出来,加1,变为 33454691,再存放回去。

使用语句 insert into VALUES (33454691) 或者 insert into VALUES (conv(33454691 ,10,16)) 或者 insert into VALUES (concat('0x',hex(33454691))) ,都是不行的,在更新之后 查询,发现都变了样 编程不是我想要的。

原因是 mysql 的转换函数 conv 、concat 函数都是返回的字符串,mysql 会把返回的结果 当做字符串 再进行二进制转换 保存进入 blob,结果就是错的了。

我仅仅是想实现 insert into values (0x22C304) ,但是我不知道 0x22C304 是怎么由 33454691 转换而来并且不被当做字符串处理的。

谢谢大家,在线等。

下载本文
显示全文
专题