如何处理Facebook新的UID尺寸?

Mar*_*rco 4 php mysql integer facebook

我一直在Facebook应用程序上工作,但是当我注册一个新用户来测试朋友交互时,新用户得到了一个uid(100000XXXXXXXXX),这对于php来说似乎很大.

将数字保存在数据库中会产生相同的值(2147483647).我猜这也是PHP的错,因为我相信uid会适合未签名的bigint?

我不太确定从哪里开始,有什么建议吗?

int*_*tgr 9

修复是将UID始终存储为字符串.使用VARCHARMySQL中的字段类型,你会没事的.

一般来说,许多数据库大师会告诉你,解释另一个应用程序的外键(在这种情况下就像UID)是糟糕的坏事,你应该把它们当作不透明的文本来处理.

  • 使用TEXT字段类型是一个坏主意,特别是如果需要索引此数据.varchar(xx)会更明智. (3认同)

Sha*_*lie 6

Facebook推荐将其存储为未签名的BIGINT.

User对象详细信息和连接可以在这里找到.

对于PHP,你将它存储为一个字符串(因为,最终,如果你要使用它,它将显示在页面上或JSON数据中或其他类似的东西.没有真正需要执行算术在那个号码上).