如何在我的sql数据库中存储一对多关系?(MySQL)
我正在建立一个网站,我需要在数据库中存储随机数的数据。
例如:用户john可能有一个电话号码,而jack可能有3。
我需要能够为每个用户存储无限数量的值。
我在任何地方都找不到方法,希望您能帮助我!:)
我是关系数据库的新手。
回答:
您创建一个单独的电话号码表(即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`
以上是 如何在我的sql数据库中存储一对多关系?(MySQL) 的全部内容, 来源链接: utcz.com/qa/428450.html