집 >데이터 베이스 >MySQL 튜토리얼 >MySQL에서 테이블을 생성할 때 외래 키 제약 조건을 작성하는 방법
MySQL 외래 키 제약 조건 구문은 다음과 같습니다. ALTER TABLE child_table ADD FOREIGN KEY(foreign_key_column) REFERENCES parent_table(primary_key_column), 이는 두 테이블 간의 관계 무결성을 보장합니다. 외래 키 제약 조건의 기능은 다음과 같습니다. 1. 데이터 무결성: 제한된 하위 테이블 참조가 상위 테이블에 있어야 합니다. 2. 계단식 업데이트: 상위 테이블 기본 키 값이 변경되면 모든 참조를 자동으로 업데이트합니다. 테이블 기본 키 값이 삭제되면 모든 참조가 자동으로 삭제됩니다.
MySQL 외래 키 제약 조건 구문
MySQL에서는 외래 키 제약 조건을 사용하여 두 테이블 간의 관계 무결성을 보장합니다. 구문은 다음과 같습니다.
<code>ALTER TABLE child_table ADD FOREIGN KEY (foreign_key_column) REFERENCES parent_table (primary_key_column)</code>
위치:
child_table
: 외래 키 제약 조건을 추가해야 하는 테이블입니다. child_table
:需要添加外键约束的表。foreign_key_column
:child_table
中引用 parent_table
主键的列。parent_table
:被引用的表,其主键用于定义约束。primary_key_column
:parent_table
中被引用的主键列。外键约束的作用
外键约束有助于确保以下事项:
示例
假设我们有两个表:orders
和 order_items
:
<code>CREATE TABLE orders ( order_id INT NOT NULL AUTO_INCREMENT, customer_id INT NOT NULL, PRIMARY KEY (order_id) ); CREATE TABLE order_items ( item_id INT NOT NULL AUTO_INCREMENT, order_id INT NOT NULL, product_id INT NOT NULL, PRIMARY KEY (item_id), FOREIGN KEY (order_id) REFERENCES orders (order_id) );</code>
在此示例中,order_items
表的外键约束确保了每个 order_id
值在 orders
表中都存在。这意味着我们无法在 order_items
表中插入没有在 orders
表中存在的 order_id
foreign_key_column
: parent_table
의 기본 키를 참조하는 child_table
의 열입니다.
parent_table
: 제약 조건을 정의하는 데 기본 키가 사용되는 참조 테이블입니다. 🎜primary_key_column
: parent_table
에서 참조되는 기본 키 열입니다. 🎜🎜외래 키 제약 조건의 역할🎜🎜🎜외래 키 제약 조건은 다음을 보장하는 데 도움이 됩니다. 🎜🎜🎜🎜데이터 무결성: 🎜상위 테이블에 존재하지 않는 하위 테이블에 대한 삽입을 방지합니다. 🎜🎜계단식 업데이트: 🎜상위 테이블의 기본 키 값이 변경되면 참조되는 모든 하위 테이블의 값을 자동으로 업데이트합니다. 🎜🎜계단식 삭제: 🎜상위 테이블의 기본 키 값이 삭제되면 하위 테이블에서 참조되는 모든 값이 자동으로 삭제됩니다. 🎜🎜Example🎜🎜🎜두 개의 테이블이 있다고 가정합니다: orders
및 order_items
: 🎜rrreee🎜이 예에서 외부 order_items
테이블의 키 제약 조건은 각 order_id
값이 orders
테이블에 존재하도록 보장합니다. 이는 orders
테이블에 존재하지 않는 order_items
테이블에 order_id
값을 삽입할 수 없음을 의미합니다. 🎜위 내용은 MySQL에서 테이블을 생성할 때 외래 키 제약 조건을 작성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!