상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
짝퉁 제품의 유통업체는 주로 누구인가요?
과테말라에서 사용할 수 있는 통화는 무엇인가요?
과테말라에서의 자원봉사 활동은 어떤 기회를 제공하나요?
데브옵스가 기본이 되는 조직 문화는 어떻게 구축하나요?
자본잠식에 대해 주주총회에서 어떤 논의가 이루어질 수 있나요?
세팝타크로에서 저명한 코치들은 누구인가요?
세팝타크로와 관련된 전통이나 문화가 있나요?
세팝타크로의 주요 선수들의 성과는 어떤가요?
공기를 측정하는 기계는 무엇이고 어떻게 작동하나요?
공기의 온도 변화가 대기압에 미치는 영향은 무엇인가요?
일본어의 단어 조합 규칙은 무엇인가요?
"독서"는 일본어로 어떻게 표현하나요?
Previous
Next
수정하기 - MySQL에서 외래 키 제약을 추가하는 방법은 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
MySQL에서 외래 키 제약(Foreign Key Constraint)을 추가하는 방법은 데이터베이스의 무결성을 유지하고, 테이블 간의 관계를 정의하는 데 중요한 역할을 합니다. 외래 키는 한 테이블의 열이 다른 테이블의 기본 키를 참조하도록 설정하여, 데이터의 일관성을 보장합니다. 아래에서는 외래 키 제약을 추가하는 방법에 대해 자세히 설명하겠습니다. 1. 외래 키 제약의 기본 개념 외래 키는 두 테이블 간의 관계를 설정하는 데 사용됩니다. 예를 들어, `orders` 테이블이 `customers` 테이블을 참조하는 경우, `orders` 테이블의 `customer_id` 열이 `customers` 테이블의 `id` 열을 외래 키로 참조할 수 있습니다. 이를 통해 특정 주문이 어떤 고객에 의해 생성되었는지를 명확히 할 수 있습니다. 2. 외래 키 제약 추가 방법 외래 키 제약을 추가하는 방법은 두 가지가 있습니다: 테이블 생성 시 추가하는 방법과 기존 테이블에 추가하는 방법입니다. 2.1. 테이블 생성 시 외래 키 추가 테이블을 생성할 때 외래 키 제약을 추가할 수 있습니다. 다음은 `customers`와 `orders` 테이블을 생성하면서 외래 키를 설정하는 예입니다. ```sql CREATE TABLE customers ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL ); CREATE TABLE orders ( id INT AUTO_INCREMENT PRIMARY KEY, order_date DATE NOT NULL, customer_id INT, FOREIGN KEY (customer_id) REFERENCES customers(id) ); ``` 위의 SQL 문에서 `orders` 테이블의 `customer_id` 열은 `customers` 테이블의 `id` 열을 참조하는 외래 키로 설정되었습니다. 2.2. 기존 테이블에 외래 키 추가 이미 존재하는 테이블에 외래 키 제약을 추가하려면 `<a href='https://sangseek.com/sangseeks/ALTER TABLE/ko'>ALTER TABLE</a>` 문을 사용합니다. 다음은 `orders` 테이블에 외래 키를 추가하는 예입니다. ```sql ALTER TABLE orders ADD CONSTRAINT fk_customer FOREIGN KEY (customer_id) REFERENCES customers(id); ``` 여기서 `fk_customer`는 외래 키 제약의 이름입니다. 제약 이름을 지정하는 것은 선택 사항이지만, 나중에 제약을 수정하거나 삭제할 때 유용합니다. 3. 외래 키 제약의 옵션 외래 키 제약을 설정할 때 몇 가지 옵션을 추가할 수 있습니다: - ON DELETE CASCADE : 부모 테이블의 행이 삭제될 때, 자식 테이블의 관련 행도 자동으로 삭제됩니다. - ON UPDATE CASCADE : 부모 테이블의 기본 키가 변경될 때, 자식 테이블의 외래 키도 자동으로 업데이트됩니다. 예를 들어, 다음과 같이 외래 키 제약을 추가할 수 있습니다. ```sql ALTER TABLE orders ADD CONSTRAINT fk_customer FOREIGN KEY (customer_id) REFERENCES customers(id) ON DELETE CASCADE ON UPDATE CASCADE; ``` 4. 외래 키 제약의 제약 조건 외래 키 제약을 추가할 때 몇 가지 조건이 있습니다: - 외래 키와 참조하는 기본 키의 데이터 타입이 동일해야 합니다. - 외래 키는 NULL 값을 가질 수 있지만, 참조하는 기본 키는 NULL 값을 가질 수 없습니다. - 외래 키 제약을 추가하기 전에 참조하는 데이터가 존재해야 합니다. 즉, 외래 키를 추가하기 전에 부모 테이블에 해당하는 데이터가 있어야 합니다. 5. 외래 키 제약 확인 및 삭제 외래 키 제약을 확인하려면 `SHOW CREATE TABLE` 명령어를 사용할 수 있습니다. ```sql SHOW CREATE TABLE orders; ``` 외래 키 제약을 삭제하려면 `ALTER TABLE` 문을 사용합니다. ```sql ALTER TABLE orders DROP FOREIGN KEY fk_customer; ``` 결론 MySQL에서 외래 키 제약을 추가하는 것은 데이터베이스의 무결성을 유지하고, 테이블 간의 관계를 명확히 하는 데 필수적입니다. 테이블 생성 시 또는 기존 테이블에 외래 키를 추가할 수 있으며, 다양한 옵션을 통해 데이터의 일관성을 더욱 강화할 수 있습니다. 외래 키 제약을 적절히 활용하면 데이터베이스 설계의 품질을 높이고, 데이터의 신뢰성을 보장할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기