web-dev-qa-db-fra.com

Enregistrement de l'identifiant facebook en tant qu'int ou varchar?

Ma question est plus technique que technique… .. J'écris une application Facebook dans laquelle je vais chercher des informations sur l'utilisateur, y compris facebook_id.
Je me demandais si je devrais conserver l'ID utilisateur en tant que INT ou VARCHAR dans la base de données MySQL?

36
Sharon Haim Pour

Facebook utilise des entiers 64 bits (bigint) pour leurs identifiants d'utilisateur. Vous utilisez donc Bigint UNSIGNED dans MySQL.

"Pour rappel, nous allons très prochainement déployer des identifiants d’utilisateur 64 bits. Nous vous encourageons à tester vos applications en visitant le site www.facebook.com/r.php?force_64bit et à créer des comptes de test avec bits UID. "

Edit: les noms d'utilisateur Facebook ne sont pas la même chose que l'identifiant d'utilisateur. Le nom d'utilisateur est bien sûr varchar mais ne sera pas retourné sous l'identifiant.

57
Gustav

Bien que cela soit peu probable, Facebook pourrait changer le format de leurs identifiants, alors pour le rendre plus solide, j'utiliserais un varchar.

12
Rich S

question similaire à: Facebook user_id: big_int, int ou string?

"Je n'utiliserais pas de chaîne. Cela rend les comparaisons douloureuses et vos index plus lourds qu'ils ne le devraient."

9
Hoff

Pour citer les notes de mise à niveau de Facebook concernant l'API graphique v2.0 (à compter de mai 2015):

Tous les identifiants sont des chaînes. Dans la version 1.0, les identifiants étaient souvent des nombres importants.

Ce qui (pour moi) implique qu'il n'est pas garanti que les utilisateurs soient des nombres. En fait, Facebook vous recommande d'utiliser des chaînes:

https://developers.facebook.com/docs/graph-api/reference/v2.2/user#fields

Nom: id
Description: id L'identifiant du compte utilisateur de cette personne. 

Cet identifiant est unique pour chaque application et ne peut pas être utilisé dans différentes applications (...) 

type: chaîne

Bien que je dois avouer que je n'ai jamais vu d'identifiant alphanumérique.

5
FuzzyAmi

Utilisez BIGINT (64) pour stocker les identifiants d’utilisateur Facebook.
Ici vous allez: https://developers.facebook.com/blog/post/45/

1
Faizan Noor

Pour les nouveaux types de données, comme il s’agit de grahp obj ID, je pense qu’il est prudent de les enregistrer sous BINT . Cependant, pour les anciens "id", par exemple pic, enregistrez-les sous forme de chaîne (vous pouvez facilement voir qu'ils sont au format xxxxxx_xxxxxxxx)

0
Eddy Chan