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?
Facebook utilise des entiers 64 bits (bigint) pour leurs identifiants d'utilisateur. Vous utilisez donc Bigint UNSIGNED dans MySQL.
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.
Bien que cela soit peu probable, Facebook pourrait changer le format de leurs identifiants, alors pour le rendre plus solide, j'utiliserais un varchar.
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."
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.
Utilisez BIGINT (64) pour stocker les identifiants d’utilisateur Facebook.
Ici vous allez: https://developers.facebook.com/blog/post/45/
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)