Database

MySQL foreign key 로 연결돼있는 데이터 지우기 설정 - cascade

yugyeong 2022. 12. 8. 14:15

 

sql 에서 두개의 테이블을 연결할 때, foreign key 를 이용한다.

 

 

foreign key 는 제약조건의 하나로 외래키라고 부른다.

외래키는 다른 테이블의 레코드를 참조하기 위한 키값으로 사용되며, 해당 레코드를 대표하는 기본키가 외래키로 설정될 수 있다.

 

 

 

두 개의 테이블을 join 으로 연결했다고 예를 들었을 때, foreign key 를 설정해두면,  데이터를 delete 할 때 두개의 테이블에서 각각 데이터를 지워줘야한다.

 

또는 한 테이블에서 데이터를 지우고 다른 테이블에서 foreign 키로 연결돼있는 데이터를 지우지 않는다면, 나중에 오류가 발생할 수 있다.

 

 

한번에 데이터를 효율적으로 지우기 위해서는 foreign key Options 의 on Delete 를 CASCADE 로 설정해두어야 한다.