Php MYSQL的Google OAuth 2.0用户id数据类型

Php MYSQL的Google OAuth 2.0用户id数据类型,php,mysql,database,oauth-2.0,google-oauth,Php,Mysql,Database,Oauth 2.0,Google Oauth,我正在实现GoogleOAuth2.0,注意到GoogleOAuth返回的唯一用户id是21位长。我原以为BIGINT(20)就足以满足这一需求,但现在看到GoogleOAuth返回的用户id的长度,我感到困惑。我该怎么做呢 要保存id,您应该使用varchar,因为您试图保存的数据来自第三方,您无法确定该值是否仅为数字(尽管google用户id仅为数字,但约定仍不在我们的控制范围内) 因为它大于最大的整数数据类型,所以必须将其存储为字符串。不过这并不重要,因为在本例中,您不会对其执行任何数学运

我正在实现GoogleOAuth2.0,注意到GoogleOAuth返回的唯一用户id是21位长。我原以为BIGINT(20)就足以满足这一需求,但现在看到GoogleOAuth返回的用户id的长度,我感到困惑。我该怎么做呢

要保存id,您应该使用varchar,因为您试图保存的数据来自第三方,您无法确定该值是否仅为数字(尽管google用户id仅为数字,但约定仍不在我们的控制范围内)

因为它大于最大的整数数据类型,所以必须将其存储为字符串。不过这并不重要,因为在本例中,您不会对其执行任何数学运算。您认为TEXT或varchar适合存储此OAuth数据吗?我以前没有这样做过,我不确定使用文本是否适合OAuth user id.No之类的东西
TEXT
列最适合大容量数据存储,请使用VARCHAR。即使VARCHAR在mysql中也需要最大长度。对于返回的此类数据,是否有理想的varchar长度?或者,文本是首选的吗?在我的数据结构中,没有理想的长度,我使用了长度500来存储google用户ID。但是它可能并不适用于所有的网络。虽然不要使用文本,因为用户id永远不会太大,但我现在已经决定使用varchar(50)。谢谢你的邀请inputs@Jhanvi由于id需要是唯一的并进行搜索,所以varchar比bigint更适合排序/搜索吗?