繁体   English   中英

如何在 MySQL 数据库中存储一对多关系?

How to store a one to many relation in MySQL database?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在制作一个网站,我需要在我的数据库中存储随机数量的数据。

例如,用户 john 可能有一个电话号码,而 jack 可能有 3 个。

我需要能够为每个用户存储无限数量的值。

2 个回复

您为电话号码创建一个单独的表(即 1:M 关系)。

create table `users` (
  `id` int unsigned not null auto_increment,
  `name` varchar(100) not null,
  primary key(`id`)
);

create table `phone_numbers` (
  `id` int unsigned not null auto_increment,
  `user_id` int unsigned not null,
  `phone_number` varchar(25) not null,
  index pn_user_index(`user_id`),
  foreign key (`user_id`) references users(`id`) on delete cascade,
  primary key(`id`)
);

现在,您可以通过简单的连接轻松获取用户的电话号码;

select
  pn.`phone_number`
from
  `users` as u,
  `phone_numbers` as pn
where
  u.`name`='John'
  and
  pn.`user_id`=u.`id`

我认为您需要创建一个一对多的关系表。

您可以在此处查看更多信息: http : //dev.mysql.com/doc/workbench/en/wb-relationship-tools.html

1 在一对多关系中改善数据库结构

我正在创建一个数据库,以跟踪自己的各种统计信息,我想知道是否有更好的方法来存储单个日期的多个条目。 例如从我的桌子上我有AllergyMedicine,它可以跟踪在同一日期服用的多种药物,有没有更好的方法呢? 另外,食物和过敏表似乎没有必要,是否有更好的分组表方法? 任何建议表 ...

2 一对多关系中的数据库设计

这些是我的表,我创建了一个tbl_relation ,其中包含data_id的tbl_data和tag_id的tbl_tags 。 data_id可以具有多个tag_ids 。 例如在以下情况下:约翰与食物,苹果,橘子相关。 莱纳斯与食物,马铃薯有关。 就速度和存储而言,这是正确 ...

3 如何使用spring mvc一对多关系确保在hibernate中的mysql数据库中没有两次添加国家?

我有两个实体,第一个是学生,另一个是地址。 这是一种关系太多,即一个地址可以有很多学生。 现在我有一个注册页面。 当我第一次注册一个学生说国名美国时,它被保存在数据库中,给美国的主ID为1,并相应地在学生的数据库中给出正确的ID。 但是,当我再次尝试使用不同的信息注册下一个学生时,但在我的情况下是美 ...

4 如何使用存储库和一对多关系插入数据?

我有两个实体 Product 和 Category 我曾尝试将数据添加到数据库,但没有出错。 但结果却出乎我的意料。 结果成功了,但是当我去mysql查看相关表时,categoryId字段似乎被标记为空 我的产品实体 我的产品服务 ...

5 模型中一对多关系的数据库设计

我有一个模型,比如说一个带有ID,名称和几顿饭的菜单,而我有另一个模型,比如一顿带有ID和名称的饭菜。 因此,菜单模型将如下所示: 我的典范餐 因此,我想在数据库中实现这种一对多的关系。 所以我想这样做: 但是我认为这不是正确的方法。 我真的很困惑如何在数据库中实现 ...

6 数据库设计:通过一对多关系避免冗余

我有两个表:Cateogy和Product 因此,按照该设计,每次我向产品添加类别时,这意味着该产品以某种方式重复,但是唯一会改变的值是“ category_id”。 我真的觉得多余: 问题 :是否有办法摆脱product表的冗余并避免重复产品,以便我可以添加类别? 问候 ...

7 一对多关系:没有在数据库上创建任何条目

我有两个域类,其中一个与另一个具有一对多关系 当我运行该应用程序时,将创建关系表A_B,并在用户创建A对象时自动添加A_B表中的条目。 然后我决定更改这种关系,因为我注意到最好在A类和C类之间建立一种关系,所以A类现在有了 但是,当我创建一个A类型的新对象(在创建一些C对象之后 ...

8 一对多关系数据库

我有以下json对象,我试图将它们存储在sqlite的两个不同表中。 在这种情况下,我首先下载一组学生并检查数据库,一切看起来都很不错。 但是,当我让另一组学生插入到现有表中时。 很少有StudentId的第一组数据集为NULL,但最新数据集的StudentId是正确的。 详细地 ...

9 RecipeApp 的 SQLite 数据库(一对多关系)

在我的应用程序中,我创建了一个 Recipe 类、一个 Ingredient 类和一个 ListIngredient 类; 然后在我的 DBHelper 中,我创建了一个 Recipe 表、一个 Ingredient 表和一个 ListIngredient 表,以通过这种方式将一个 Recipe 链 ...

10 一对多关系的数据库视图

在以下情况下,为Java / Hibernate应用程序设计视图的最佳方法是什么: 存在实体A与实体B,实体C和实体D具有一对多的关系。 需要在UI的单个表中显示实体A的所有关系。 创建数据库视图并使用休眠映射它是否有意义? 要么 是否具有Java中的所有逻辑,并使 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM