백엔드/MySQL

MySQL 외래키(FK, foreign key) 연결 테이블 삭제 순서

짱뚱짱 2024. 9. 3. 13:09

외래키 연결이 되어 있는 테이블은 삭제시 아래의 순서로 이루어져야 해서 좀 빡세다.. 하지만 수정은 그냥 해도 되는데, 데이터가 없어서 그런 것일지도 모름.

step 1. 외래키 삭제

alter table 테이블명 drop foreign key 외래키명

 

step 1-1. 외래키명 확인

select * from information_schema.table_constraints where table_name = '테이블명';
select * from information_schema.table_constraints where table_name = 'course';
+--------------------+-------------------+-----------------+--------------+------------+-----------------+----------+
| CONSTRAINT_CATALOG | CONSTRAINT_SCHEMA | CONSTRAINT_NAME | TABLE_SCHEMA | TABLE_NAME | CONSTRAINT_TYPE | ENFORCED |
+--------------------+-------------------+-----------------+--------------+------------+-----------------+----------+
| def                | college           | PRIMARY         | college      | course     | PRIMARY KEY     | YES      |
| def                | college           | course_ibfk_1   | college      | course     | FOREIGN KEY     | YES      |
| def                | college           | course_ibfk_2   | college      | course     | FOREIGN KEY     | YES      |
| def                | school            | PRIMARY         | school       | course     | PRIMARY KEY     | YES      |
+--------------------+-------------------+-----------------+--------------+------------+-----------------+----------+

 

2. 테이블 제거

drop table 테이블명

3. 테이블 재생성

create table... (이하 생략)

4. 외래키 생성

alter table 테이블명 add constraint [제약조건명] foreign key(칼럼명) references [부모테이블명](칼럼명)

 

'백엔드 > MySQL' 카테고리의 다른 글

MySQL INDEX  (0) 2024.09.03
DB 관리 및 쿼리 실습(2)  (6) 2024.09.03
DB 관리 및 쿼리 실습(1)  (0) 2024.09.02
ROLL UP 및 RANK  (2) 2024.09.02
MySQL JOIN(2)  (0) 2024.09.02