Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在MySQL数据库中存储一对多关系?_Mysql_Sql_Database_Join_Relational Database - Fatal编程技术网

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

如何在MySQL数据库中存储一对多关系?,mysql,sql,database,join,relational-database,Mysql,Sql,Database,Join,Relational Database,我正在制作一个网站,我需要在我的数据库中存储随机数目的数据 例如,用户john可能有一个电话号码,而jack可能有3个 我需要能够为每个用户存储无限多的值。您可以为电话号码创建一个单独的表(即1:M关系) 现在,您可以轻松地通过简单的连接获取用户的电话号码 select pn.`phone_number` from `users` as u, `phone_numbers` as pn where u.`name`='John' and pn.`user_id`=u.`i

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

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


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

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

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

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

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


您可以在此处看到更多信息:

这只是一对多关系。例如,一个用户可以有许多电话号码。这将在某个地方的数据库概念教程中介绍。关于第二个表,是否需要phone_numbers.id字段?如果用户id='12345'和电话号码='123-456-7890'可以更新电话号码吗?我想正确地执行此操作,但我试图理解为什么需要电话号码.id字段。谢谢大家!@我不会说这是必要的,当然这取决于你的项目。
select
  pn.`phone_number`
from
  `users` as u,
  `phone_numbers` as pn
where
  u.`name`='John'
  and
  pn.`user_id`=u.`id`