在MySQL中的表有时候使用32位的字段作为自增ID会太小,所以使用64位的字段是更好的选择,但是我发现PHP在32位的机器上竟然无法处理64位的字段,简单说来就是PHP压根就没有64位的数值类型(只有int类型,在32位机器上是32位),64位的数值类型会被自动转化为float,这样就会带来精度等问题,这样在数据库中使用大字段就没有意义了,很奇怪PHP竟然缺少这样的基本功能,是真的没有还是我没发现?难道如果有这种需求一定要装64位机器才行?

解决方案 »

  1.   

    如果32位的自增都不能满足你的话,人类已经无法阻挡你使用Oracle了.想想一天要有多少数据更新才可能会枯竭吧...
      

  2.   

    32位的自增很大吗?32位大概是40亿,假设有一个BBS,里面有1万个用户发帖,一个用户才能发40万个帖子,很多灌水的用户一天发个100贴以上不成问题吧,一年能累积个40000帖,也就是说大概能发10年.当然还是比较长的一个时间,但是也不是说不能达到吧
      

  3.   

    本帖最后由 xuzuning 于 2012-01-08 13:40:20 编辑
      

  4.   


    是10年,10年后mysql 已经不知道给甲骨文丢到哪个角落都说不定。如果有一个1万个用户每天发100帖的论坛...