MySQL에서 테이블 외래 키 제약 조건을 생성하면 참조 무결성이 보장됩니다. 단계는 다음과 같습니다. 두 개의 테이블을 생성하고 기본 키를 지정합니다. 상위 테이블의 기본 키를 참조하여 하위 테이블에 FOREIGN KEY 제약 조건을 추가합니다. 필요에 따라 참조 작업(예: 연속 삭제 또는 제한된 업데이트)을 지정합니다.
MySQL에서 테이블 외래 키 제약 조건 만들기
두 테이블 사이에 외래 키 제약 조건이 설정되면 두 테이블 간의 참조 무결성이 보장될 수 있습니다. 다음 단계에서는 MySQL에서 테이블 외래 키 제약 조건을 생성하는 방법을 소개합니다.
1단계: 두 개의 테이블 생성
외래 키 제약 조건을 설정하려는 두 개의 테이블 생성:
<code class="sql">CREATE TABLE parent_table ( id INT NOT NULL, name VARCHAR(255) NOT NULL, PRIMARY KEY (id) ); CREATE TABLE child_table ( id INT NOT NULL, parent_id INT NOT NULL, value VARCHAR(255) NOT NULL, PRIMARY KEY (id), FOREIGN KEY (parent_id) REFERENCES parent_table(id) );</code>
2단계: 외래 키 제약 조건 추가 하위 테이블에서
child_table
에서 FOREIGN KEY
제약 조건을 사용하여 parent_id
열을 parent_table <code>id로 참조하세요.
의 열: child_table
中,使用 FOREIGN KEY
约束将 parent_id
列引用到 parent_table
中的 id
列:
<code class="sql">ALTER TABLE child_table ADD FOREIGN KEY (parent_id) REFERENCES parent_table(id);</code>
第三步:指定引用操作(可选)
您可以使用 ON DELETE
和 ON UPDATE
子句指定在对父表进行删除或更新操作时对子表中受影响记录的行为:
<code class="sql">ALTER TABLE child_table ADD FOREIGN KEY (parent_id) REFERENCES parent_table(id) ON DELETE CASCADE ON UPDATE RESTRICT;</code>
在这段代码中:
ON DELETE CASCADE
:当从 parent_table
中删除记录时,将自动从 child_table
中级联删除相关记录。ON UPDATE RESTRICT
:当 parent_table
中的记录被更新时,将阻止对 child_table
rrreeeON DELETE
및 ON UPDATE
를 사용할 수 있습니다. 절은 상위 테이블에서 삭제 또는 업데이트 작업이 수행될 때 하위 테이블의 영향을 받는 레코드에 대한 동작을 지정합니다.
ON DELETE CASCADE
: 레코드가 삭제될 때 parent_table
에서 관련 레코드가 자동으로 child_table
에서 캐스케이드 삭제됩니다. ON UPDATE RESTRICT
: parent_table
의 레코드가 업데이트되면 child_table
의 영향을 받는 레코드에 대한 모든 업데이트가 차단됩니다. 위 내용은 mysql에서 외래 키 제약 조건을 작성하여 테이블을 만드는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!