我的问题更多是咨询而不是技术问题。 我正在写一个Facebook应用程序,我在其中获取有关用户的一些信息,包括facebook_id 我想知道我是否应该在MySQL数据库中将用户ID保持为INT或VARCHAR?
答案 0 :(得分:57)
Facebook使用 64位整数(bigint)作为用户ID。所以你在MySQL中使用Bigint UNSIGNED。
编辑:Facebook用户名与用户ID不同。用户名当然是varchar,但不会作为id返回。
答案 1 :(得分:13)
尽管不太可能,但facebook可以更改其ID的格式,因此为了使其具有未来性,我会使用varchar。
答案 2 :(得分:9)
类似的问题:Facebook user_id : big_int, int or string?
“我不会使用字符串。这会使比较变得痛苦,而且你的索引比他们需要的更笨拙。”
答案 3 :(得分:5)
引用facebook关于图API API v2.0的升级说明(2015年5月生效):
所有ID都是字符串。在v1.0中,ID通常是大数字。
其中(对我而言)意味着不保证用户ID是数字。事实上,Facebook建议您使用字符串:
https://developers.facebook.com/docs/graph-api/reference/v2.2/user#fields
名称:ID
描述:id此人的用户帐户的ID。此ID对每个应用都是唯一的,不能在不同的应用中使用(...)
type:string
虽然我必须承认我从未见过字母数字。
答案 4 :(得分:1)
使用BIGINT(64)存储Facebook用户ID 在这里:https://developers.facebook.com/blog/post/45/
答案 5 :(得分:0)
对于新数据类型,因为它们是grahp obj ID,我相信将它们保存为BINT是安全的。 但是,对于旧的“id”,例如pic,将它们保存为字符串(您可以很容易地看到它们的格式为xxxxxx_xxxxxxxx)
答案 6 :(得分:-4)
我使用INT,因为它不是那么大。在INT中搜索更快更好地进行排序