我想要两个表共享一个主自动递增 id,这可能吗?我该怎么做呢?我需要考虑他们的什么吗?
我这样做的原因是因为它是比向用户表添加组列更好的解决方案,也比创建完全独立的组表更好,因为如果它们共享主键,我可以使用现有的组和用户的帖子表。而不必创建两个不同的帖子表(用于群组帖子的 group_posts 表。以及用于用户帖子的 user_posts 表。)
现有用户表为
id(主要,ai)
用户名
密码
电子邮件
我想要使用共享 ai 主键链接到我的用户表的组表
id(primary, ai, 链接到用户表 id)
组名称
创建者
创建日期
等等
最佳答案
您应该通过执行以下操作使架构更加清晰:
- 创建一个表(例如
people
)id
,主键,自增type
,告诉您它是用户
还是组
- 在
people
上设置users
和groups
主键、外键- 在
人员
中插入记录 - 获取使用
LAST_INSERT_ID()
分配的 ID - 使用上面获得的 ID 适当插入
用户
或组
- 在
然后,您将在 posts
表等中引用“人员”,而不是“用户”或“群组”。
从概念上讲,以面向对象的方式思考,这意味着用户
和组
都扩展了人
。
关于mysql - 创建一个新的 mysql 表,其主自动递增 id 链接到另一个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10333040/