如何在MySQL数据库中存储一对多关系?
我正在制作一个网站,我需要在我的数据库中存储随机数目的数据 例如,用户john可能有一个电话号码,而jack可能有3个如何在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
我需要能够为每个用户存储无限多的值。您可以为电话号码创建一个单独的表(即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`