본문 바로가기
MySql

MySQL 내 SQL 데이터베이스에 일대 다 관계를 저장하는 방법은 무엇입니까? (MySQL)

by 베이스 공부 2021. 1. 29.
반응형

웹 사이트를 만들고 있는데 데이터베이스에 임의의 데이터를 저장해야합니다.

예 : 사용자 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`

 

참조 페이지 https://stackoverflow.com/questions/12402422

 

 

반응형

댓글