[MySQL] foreign key(외래키) 사용법
2023. 5. 26. 14:34ㆍ프로그래밍/MySQL
MySQL에서는 제약 조건이라는 것이 있다. 데이터를 저장할 때 특정 조건에 해당하는 데이터만 레코드에 집어넣을 수 있게 설정하는 것이다. 대표 제약 조건으로 NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY, DEFAULT가 있다.
여기서는 주제에 맞게 FOREIGN KEY만 다루겠다.
FOREIGN KEY는 여러 테이블에 서로 공통된 값을 참조할 수 있도록 도와준다.
table1과 table2가 있을 때 table1에서의 id값을 다른 테이블에서도 사용하고 싶을 수 있다.
예를 들어 다음과 같이 테이블이 있다고 해보자.
이 때 table1의 id1값을 table2에서 참조하고 싶어한다. 즉 table2의 id(id2)값은 외래키로 지정하고 싶다면 위와 같이 작성한다.
table1과 table2의 id값은 다르다는 것을 보여주기 위해 일부러 다르게 했다.
또한 table을 생성할 때도 참조되는 table(예제에서는 table1)이 먼저 생성 된 후에야 table2를 생성할 수 있다.
insert into를 통해 값을 집어넣을때도 외래키에는 참조하는 테이블의 값이 아닌 다른값을 넣을 수 없다.
예로 table1의 id1의 값이 1,2,3,4,5가 있을 때 table2의 id값으로 6을 지정할 수 없다는 것.
'프로그래밍 > MySQL' 카테고리의 다른 글
MySQL 서버 종료 및 실행 방법 (feat. error 2002 (hy000): can't connect to local mysql server through socket '/tmp/mysql.sock') (0) | 2023.10.22 |
---|---|
[MySQL] group by에서 최대값을 가진 row들을 가져오기 (0) | 2023.05.26 |
[My SQL] JOIN의 개념 (0) | 2023.05.25 |
[MySQL] 기본 문법 정리( 생성부터 crud까지 ) (0) | 2023.05.23 |
[MySQL] MySQL 개념정리 (0) | 2023.05.23 |