不如vchar 不足位补0 很容易搜索也很容易计算

解决方案 »

  1.   

    ip地址实际上就是一个4字节整数, 
    xxx.xxx.xxx.xxx是方便平时使用的方式
    每一段对应该整数的一个字节.所以每一段都不能大于255ip2long就是作这个转换.去掉点存储当然可以,
    但是需要每段补足3位数,否则会产生歧义.
    补足后是一个12位整数,(ip是最高10位)
    而且这12位里有很多是不能对应于ip地址的,比如333888555666.
    如果需要作这方面判断的就不方便了.
      

  2.   

    如果把ip地址按照172.168.168.123去掉点存储172168168123也按照int方式存储会不会有什么问题---------
    会有问题,因为超出了32位系统的最大整数,必须用无符号数来存储和处理,否则会出现负数的情况
    php处理用sprintf("%u",$ip)
    mysql字段用unsigned