ipv6逐渐普及了,我们的服务要支持用户通过ipv6和iPv4地址请求,存储用户来源IP势在必行。

pgsql中有ip地址类型,mysql没有。

mysql提供的方案是用二进制存储用函数做转换为人可读字符串

不过这些对于编程来说增加了复杂度,而且还无法与Ipv4地址存储通用 ,因此简单实现的方法就是varchar了。varchar(64)就足够了。

具体分析

ipv4地址32位,有2^32个。我们常见的形式是这样的

255.255.255.255 (十进制表示)只有数字和.符号,最长字符串长度为15

ipv6地址128位,有2^128个。我们常见的形式是这样的

2001:0db8:0000:0000:0000:ff00:0042:8329

IPv6地址通常写成八组,每组四个十六进制数字,每组由冒号(:)分隔。

那最多39个字符。

但是看posix的中定义的IPv6地址字符串形式最大长度为46字节,其中包含结尾的null,所以最大长度为45。varchar(45)足矣,不过varchar是变长字符串,我们稍微给长一点也没问题。

#define INET6_ADDRSTRLEN 46

mysql ipv6 字段_MySQL中ipv6地址用什么类型存储?相关推荐

  1. mysql 排除字段_mysql中select某表时排除个别字段,shell实现

    在使用mysql的日常生活中,偶尔会有一些奇奇怪怪的需求,例如实现类似:select * EXCEPT password,address from users; 要想从users信息表中查询用户信息, ...

  2. c 读取mysql 时间字段_MySQL中的时间字段的几种数据类型比较

    1.序言 ​ 最近在项目开发时,对于MySQL数据库中的有关时间的字段该选用何种类型,引发了一些争论.所以做了一些简单的研究,看了一些blog,和官方文档.最后做出一个自己的总结. 2.类型比较 IN ...

  3. mysql blob 字段_MySQL中TEXT与BLOB字段类型的区别

    在MySQL中有两个字段类型容易让人感觉混淆,那就是TEXT与BLOB,特别是自己写博客程序的博主不知道改为自己的博客正文字段选择TEXT还是BLOB类型. 下面给出几点区别: 一.主要差别 TEXT ...

  4. c 读取mysql 时间字段_Mysql 中的日期时间字符串查询 c_G17

    一.将数据库中的Date格式的数据,或者指定日期的字符串格式化为想要的样式 DATE_FORMAT (date, format)能根据格式串format 格式化日期或日期和时间值date,返回结果字符 ...

  5. mysql 中序号要怎么写_如何在mysql的字段ID中插入自动编号?

    如何在mysql的字段ID中插入自动编号?我已经有idmember作为主键 这是我尝试过的代码,请更正它 UPDATE member SET id = Row_number()over ORDER B ...

  6. mysql索引三个字段查询两个字段_mysql中关于关联索引的问题——对a,b,c三个字段建立联合索引,那么查询时使用其中的2个作为查询条件,是否还会走索引?...

    情况描述:在MySQL的user表中,对a,b,c三个字段建立联合索引,那么查询时使用其中的2个作为查询条件,是否还会走索引? 根据查询字段的位置不同来决定,如查询a,     a,b    a,b, ...

  7. mysql 关联索引_mysql中关于关联索引的问题——对a,b,c三个字段建立联合索引,那么查询时使用其中的2个作为查询条件,是否还会走索引?...

    情况描述:在MySQL的user表中,对a,b,c三个字段建立联合索引,那么查询时使用其中的2个作为查询条件,是否还会走索引? 根据查询字段的位置不同来决定,如查询a,     a,b    a,b, ...

  8. mysql索引三个字段查询两个字段_mysql中关于关联索引的问题——对a,b,c三个字段建立联合索引,那么查询时使用其中的2个作为查询条件,是否还会走索引?......

    情况描述:在MySQL的user表中,对a,b,c三个字段建立联合索引,那么查询时使用其中的2个作为查询条件,是否还会走索引? 根据查询字段的位置不同来决定,如查询a,     a,b    a,b, ...

  9. mysql所以字段_MySQL|mysql-索引

    原标题:MySQL|mysql-索引 1.索引是什么 1.1索引简介 索引是表的目录,是数据库中专门用于帮助用户快速查询数据的一种数据结构.类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存 ...

最新文章

  1. 算法工程师的落地能力具体指的是什么?
  2. 你现在还在使用刷脸支付吗?不,刷手支付已来!!!不侵犯隐私、秒速支付...
  3. 成为DBA的艰辛之路————需要掌握一笔不小的知识
  4. 鸟哥的Linux私房菜(基础篇)-第二章、 Linux 如何学习(二.5. 重点回顾)
  5. 统计自然语言处理笔记
  6. Spring TX源码分析
  7. JavaSE(二十一)——栈和队列、栈和堆
  8. 【LoadRunner】安装LoadRunner时提示缺少vc2005_sp1_with_atl_fix_redist解决方案
  9. Coursera自动驾驶课程第18讲:The Planning Problem
  10. 【响应式编程的思维艺术】 (1)Rxjs专题学习计划
  11. Java学习笔记2.2.1 常量与变量 - 变量
  12. Redmi K50电竞版将全球首发超宽频马达:安卓阵营最大 售价不便宜
  13. MySQL 执行原生sql
  14. eclipse 背景颜色
  15. VS2017 CUDA编程学习10:纹理内存
  16. 背包问题九讲 2.0 beta1.1
  17. 打砖块游戏-第12届蓝桥杯Scratch省赛1真题第5题
  18. 沈阳农业大学计算机专业排名,2019沈阳农业大学专业排名
  19. linux用户的主要配置文件,Linux用户和组的主要配置文件及其相关命令
  20. 【Luogu1879】玉米田

热门文章

  1. 零基础该如何学好3D建模,学些什么,达到什么标准才能入行?
  2. 该怎么选择便宜和贵的SSL证书
  3. 数据安全传输平台项目笔记
  4. DNS服务详解(解析+搭建)
  5. Oracle 12C 基础知识与使用入门(修订版)
  6. 俄罗斯方块(Tetris)
  7. Vue中error ‘XXXXX‘ is not defined no-undef解决办法
  8. 2019年十大让人欲罢不能的消费潮流 | 财见年终观察
  9. 前端实现导入PPT在线编辑
  10. vue init webpack缺少标识符_Vue脚手架热更新技术探秘