참고: 외래 키를 추가하면 슬레이브 테이블(즉, 하위 테이블)에 추가됩니다.
상위 테이블이 메인 테이블입니다.
생성하기 전 테이블:
FOREIGN KEY(하위 테이블 ID) REFERENCES 관련 테이블 이름(외부 마스터 테이블 ID)
예:
create table emp( e_id int auto_increment primary key, ename varchar(50) not null, age int, job varchar(20), salary int, entrydate date, managerid int, dept_id int, FOREIGN KEY (dept_id) REFERENCES dept(id) );
테이블 생성 후 추가:
ALTER TABLE Table 1 ADD FOREIGN KEY (테이블 외래 키에서) REFERENCES dept (메인 테이블의 기본 키);
例如: ALTER TABLE emp ADD FOREIGN KEY (dep_id) REFERENCES dept(id);
참고:
메인 테이블(dept)은 슬레이브 테이블(emp)에 존재하며 슬레이브 테이블은 외래 키는 직접 삭제할 수 없습니다(메인 테이블)
DROP TABLE dept; --Delete failed
테이블 삭제 시 외래 키 참조가 있는 경우 먼저 슬레이브 테이블을 삭제해야 합니다. 관련 외래 키 제약 조건) 마스터 테이블을 삭제하기 전에.
위 외래 키는 모두 물리적 외래 키이므로 데이터베이스 수준 참조이므로 이를 사용하면 데이터 결합 정도가 크게 높아집니다.
기본 키:
레코드를 고유하게 식별하며 중복될 수 없으며 데이터 무결성을 보장하는 데 사용됩니다.
외래 키:
다른 테이블의 키. 외래 키는 중복되거나 null 값을 가질 수 있으며 다른 테이블과의 관계를 설정하는 데 사용됩니다. 따라서 외래 키에 관해 이야기하려면 최소한 두 개의 테이블이 포함되어야 합니다.
참고:
1. 외래 키 필드는 생성 시 기본 테이블의 유형(길이 등)과 완전히 일치해야 합니다. 그렇지 않으면 외래 키를 생성할 때 오류가 보고됩니다.
2. 외래 키 테이블은 메인 테이블에 존재하지 않는 데이터를 삽입할 수 없습니다(데이터란 메인 테이블의 기본 키 또는 보조 테이블의 외래 키를 가진 데이터를 말합니다). –예를 들어, 테이블에서 데이터를 삽입할 때 부서 번호가 1, 2, 3, 4만 있고 외래 키 값이 5인 경우, 메인 테이블의 데이터가 수정되면 오류가 발생합니다. , 연결된 외래 키 테이블의 외래 키 제약 조건이 자동으로 수정되었습니다.
제약조건을 추가하는 것과 추가하지 않는 것의 차이
제약조건을 추가하지 않으면 시스템이 자동으로 이름을 생성하므로 기억하기 어려울 수 있습니다.. 제약조건을 추가하면 자신의 의도에 따라 제약조건 이름을 지정할 수 있습니다.
1. 삭제할 외래 키를 표시합니다. show create table 테이블 이름;추가됨: MySQL의 외래 키 삭제 작업
2. 제약 조건을 확인하세요.
3. 다시 작성하는 한 가지 방법은 다음과 같습니다. 테이블에서 외래 키 제약 조건을 삭제하려면 alter table 명령을 사용합니다. 구문은 다음과 같습니다. ALTER TABLE 테이블 이름 DROP FOREIGN KEY 제약 조건 이름;
위 내용은 MySQL에서 외래 키를 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!