mysql - 创建一个新的 mysql 表,其主自动递增 id 链接到另一个表?

标签 mysql database-design database-schema

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

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

现有用户表为

id(主要,ai)

用户名

密码

电子邮件

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

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

组名称

创建者

创建日期

等等

最佳答案

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

  1. 创建一个表(例如people)
    • id,主键,自增
    • type,告诉您它是用户还是
  2. people 上设置 usersgroups 主键、外键
    • 人员中插入记录
    • 获取使用 LAST_INSERT_ID() 分配的 ID
    • 使用上面获得的 ID 适当插入用户

然后,您将在 posts 表等中引用“人员”,而不是“用户”或“群组”。

从概念上讲,以面向对象的方式思考,这意味着用户都扩展了

关于mysql - 创建一个新的 mysql 表,其主自动递增 id 链接到另一个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10333040/

相关文章:

mysql - 模拟的准备好的语句与真实的准备好的语句

c# - 匹配系统的表设计

database-design - 数据库关系循环

oracle - Sql Developer 2.* 有方便的数据建模器 - Sql Developer 3.* 中有类似的东西吗

php - 快速显示各位置的最新温度

mysql - SQL SUM() 函数字段

php - 使用 PHP 和 MYSQL 对已知列进行搜索

sql - 如何将列表存储在数据库表的列中

oracle - 如何在PL/SQL中合并两个类似的数据库架构?

mysql - 获取MySQL数据库结构更改查询