【问题标题】:MySQL: One Auto Increment ID for every entities in the databaseMySQL:数据库中的每个实体都有一个自动增量 ID
【发布时间】:2013-05-03 21:39:36
【问题描述】:

我正在开发一个社交网络。包含活动(喜欢、评论、关注、发布等)、用户、页面关注、相册、照片和其他一些东西。

现在,社交网络中最重要的事情之一就是活动源。我有一个包含 activity_feed 表、user_table、follow_table、like_table 等的结构......我在想:如果我使用唯一的 AUTO INCREMENT 来识别我的应用程序中的每个实体会怎样?

例子:

用户通过注册加入我的网站:

  • 将活动添加到 activity_feed(并获取 ID)
  • 将用户添加到 user_table(带有外键到 activity_feed)

示例 2:

用户上传照片:

  • 将活动添加到 activity_feed
  • 将照片添加到照片表(使用外键)

这将简化 api 调用(例如:http://api.domain.com/ID)、删除实体、未来的数据库共享和许多其他事情。

我注意到 facebook 有这样的结构。显然可以在其他表上建立索引(例如:activity_index_type with activity_type -> user and activity_id)。

可能是一个好的解决方案?

对不起我的英语! :$

【问题讨论】:

    标签: mysql facebook social-networking auto-increment


    【解决方案1】:

    这是Globally Unique ID's (GUID) 的概念。 MySQL 具有生成它们的功能:UUID()。这是关于storing GUID的SO的建议

    【讨论】:

    • 呃,我知道 GUID,但我想知道用这种方法使用 INT 是否可行?谢谢!
    • 我在答案中链接到的答案建议使用CHAR(16) binary。这里又是链接。 stackoverflow.com/questions/412341/…
    猜你喜欢
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 2011-11-12
    • 1970-01-01
    • 1970-01-01
    • 2012-03-10
    • 2014-11-18
    相关资源
    最近更新 更多