0

我想要两个表共享一个主要的自动递增 id,这可能吗?我该怎么做呢?他们有什么我需要考虑的吗?

我这样做的原因是因为它是比将组列添加到用户表更好的解决方案,也比创建完全独立的组表更好,因为如果他们共享主键,我可以使用现有的帖子表组和用户。而不必创建两个不同的帖子表,(组帖子的 group_posts 表。用户帖子的 user_posts 表。)

现有用户表是

id(主要,ai)

用户名

密码

电子邮件

我想使用共享 ai 主键链接到我的用户表的我的组表

id(primary, ai, 链接到用户表 id)

组的名字

由...制作

创立日期

等等

4

1 回答 1

1

您应该通过执行以下操作使架构更清晰:

  1. 创建一个表(例如people
    • id, 主键, 自增
    • type, 告诉你它是 auser还是 agroup
  2. 制作usersgroups主键外键people
    • 插入记录people
    • 获取使用分配的 IDLAST_INSERT_ID()
    • 使用上面获得的 ID插入usersgroups适当地插入

然后你会在你的posts表中引用“人”,而不是“用户”或“组”等等。

从概念上讲,以 OO 的方式考虑它,它意味着users并且groups都可以扩展people

于 2012-04-26T12:29:43.293 回答