如何在我的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

回到顶部