【问题标题】:What should be the leagth of int in a sql table where i store the facebook profile id? [duplicate]我存储facebook个人资料ID的sql表中int的长度应该是多少? [复制]
【发布时间】:2011-05-26 14:09:17
【问题描述】:

我经常使用 cms,但之前没有过多地直接使用 sql。我正在制作一个 facebook 页面目录,我在其中保存页面 id,facebook 页面 id 的长度有时是 10-13 位。那么我应该使用什么类型的 int 。我正在考虑BIGINT,但它的长度应该是多少?

这是视觉上的表格。如果您能建议字段的长度,我会很高兴。

这是我想出的数据类型和长度。但是我很困惑这些是否有效:

  1. ID: 页面的数据库 ID(int 5)
  2. page_id:Facebook 页面 id (bigint)
  3. page_name: Facebook 页面名称(varchar 50)
  4. 用户名:页面的用户名(varchar 50)
  5. 点赞数:点赞数(整数)
  6. 链接:链接到页面(varchar 100)
  7. Time_added: 当前时间戳

【问题讨论】:

  • 页面 ID 是否指定为整数,或者可能是(主要是数字)字母数字字符数组?我不知道 Facebook API,但可能值得一看。
  • @Mudu: facebook page id 是整数。
  • 好的。我之前看过developers.facebook.com/docs/reference/api/page,不是Page,是吗?

标签: mysql sql facebook facebook-graph-api


【解决方案1】:

由于您无法控制 Facebook 未来可能会做什么,我会使用对变化最不敏感的类型。

由于您不会对 page_id 进行算术操作,因此我会将其存储为 varchar。

【讨论】:

  • +1 表示VARCHAR。 Facebook 未来改变格式几乎不会令人震惊。
【解决方案2】:

正确,您需要BIGINT: http://dev.mysql.com/doc/refman/5.6/en/numeric-types.html

我建议您的 VARCHAR 字段使用更长的长度。它不会伤害任何东西,尤其是 URL 可能会变得很长。我可能会将两个 50 个字符的字段增加到 100 个,并在链接字段中允许 1,000 个字符。

【讨论】:

    【解决方案3】:

    最简单的方法是将这些 ID 视为具有 15 个字符的字符串或 varchar。 使用 php 在处理 64 位整数时可能会导致问题。

    性能差异可以忽略不计!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-19
      • 1970-01-01
      • 2011-09-24
      • 2012-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多