본문 바로가기

프로그래밍 언어/MySQL

[MySQL] Foreign key 생성

반응형

관계형 종류

1. 1대 1

2. 1대 多

3. 多 대 多

 

- 1대 多

- 어떤 데이터들은 묶음으로 묶어줄 수있다.

- 다른 데이터의 정보를 id를 맞추어 묶음을 불러오는 형식으로 진행한다. 

-> 참고한다고 한다. 

-> reference

-> foreign key 설정

- 테이블 생성 화면 중, 기본 설정 후에, 하단에 Foreign Key 페이지 클릭. 

- 해당 페이지 진입 후에, 이름을 입력해준다. 

 

Foreign Key Name: o_customer_id  ->   order 테이블의 customer_id이다. 라는 뜻

refenrenced table: 어떤 테이블을 참고할건데?

 

- refenrenced table에 참고할 테이블 선택 후에, 우측, 연결할 컬럼을 정해준다. 해당 컬럼은 데이터 타입이 INT이며, UN 설정이 되어있어야한다. 

- 설정 후에, Apply 클릭하면 하기와 같은 문자열과 화면이 나온다. 쭉 진행.

CREATE TABLE `yh_db`.`orders` (
  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `order_date` DATE NULL,
  `amount` DECIMAL(8,2) NULL,
  `customer_id` INT UNSIGNED NULL,
  PRIMARY KEY (`id`),
  INDEX `o_customer_id_idx` (`customer_id` ASC) VISIBLE,
  CONSTRAINT `o_customer_id`
    FOREIGN KEY (`customer_id`)
    REFERENCES `yh_db`.`customers` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);

DECIMAL(8,2)

ㄴ왼쪽으로는 8자리까지, 소수점 뒤에는 2자리까지만 하겠다… 라는 뜻

 

 

반응형