作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在创建简单的网络浏览器游戏。我已经有了可以使用的注册和登录表单。我有一个包含用户信息的数据库和表:用户身份用户名用户邮箱用户密码
我需要额外的数据-资源。我必须创建新的表资源,并且我想将这两个信息连接到 1 个用户(1 个 userId)。我的想法是创建新的表资源:userId(必须与用户表中的相同)木头铁石头
这个问题有什么解决办法吗?请帮助我。
最佳答案
请记住,数据库设计选择通常基于您想要执行的查询类型,我认为您有两种选择。
第一个选项是遵循您描述的路径,这意味着在资源
表中,每种类型的资源都有一列
resources
user_id (fk for id of user) | wood_amount | iron_amount | stone_amount
这是最简单的设计,但如果明天您想添加另一种类型的资源,您将被迫添加一列。然后是另一个。然后是另一个。然后是另一个。
另一个选项是将用户
和资源
之间的关系设计为标准多对多
关系,这意味着您将拥有三个表格
user
the one you already have
resource
resource_id | resource_desc
user_resources
user_id (fk to id of user) | resource_id (fk to id of resource | amount
这种方式在数据库中查询用户的资源可能需要额外的联接,但添加新类型的资源将只是插入到resource
表中。
关于mysql - 如何将用户数据与其他表连接起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43799424/
我是一名优秀的程序员,十分优秀!