SQL FOREIGN KEY 제약 조건
SQL FOREIGN KEY 제약 조건
다른 테이블의 기본 키에 하나의 테이블 점에서 FOREIGN KEY.
의는 외래 키를 설명하기 위해 예를 사용하자. 다음 두 개의 테이블을 고려 :
"사람"테이블 :
P_Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Hansen | Ola | Timoteivn 10 | Sandnes |
2 | Svendson | Tove | Borgvn 23 | Sandnes |
3 | Pettersen | Kari | Storgt 20 | Stavanger |
"주문"테이블 :
O_Id | OrderNo | P_Id |
---|---|---|
1 | 77895 | 3 |
2 | 44678 | 3 |
3 | 22456 | 2 |
4 | 24562 | 1 |
"주문"테이블 "P_Id"열 포인트 "사람"테이블 "P_Id"열을 유의하시기 바랍니다.
"사람"테이블 "P_Id"열이 "사람"테이블 기본 키입니다.
"주문"테이블 "P_Id"열에는 "주문"테이블 FOREIGN KEY입니다.
FOREIGN KEY 제약 조건 테이블의 동작 사이의 연결의 손상을 방지하기 위해 사용된다.
이 테이블을 가리키는 때문에 FOREIGN KEY 제약 조건은 또한 외래 키 컬럼에 데이터 부정을 방지, 그것은 일을해야합니다.
SQL FOREIGN KEY 제약 조건은 표시를 CREATE
'주문'표는 "P_Id"열에 FOREIGN KEY 제약 조건을 만들 만든 다음 SQL :
MySQL은 :
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
FOREIGN KEY (P_Id) REFERENCES Persons(P_Id)
)
SQL 서버 / 오라클 / MS 액세스 :
(
O_Id int NOT NULL PRIMARY KEY,
OrderNo int NOT NULL,
P_Id int FOREIGN KEY REFERENCES Persons(P_Id)
)
FOREIGN KEY 제약 조건 이름을 지정하고 열 FOREIGN KEY 제약의 복수를 정의하려면, 다음과 같은 SQL 구문을 사용합니다 :
MySQL의 / SQL 서버 / 오라클 / MS 액세스 :
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)
)
SQL FOREIGN KEY 제약 조건은 ALTER TABLE 때
'주문'테이블 열 생성되면 FOREIGN KEY 제약 조건이 "P_Id", 다음 SQL을 사용하시기 바랍니다 만듭니다
MySQL의 / SQL 서버 / 오라클 / MS 액세스 :
ADD FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)
FOREIGN KEY 제약 조건 이름을 지정하고 열 FOREIGN KEY 제약의 복수를 정의하려면, 다음과 같은 SQL 구문을 사용합니다 :
MySQL의 / SQL 서버 / 오라클 / MS 액세스 :
ADD CONSTRAINT fk_PerOrders
FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)
FOREIGN KEY 제약 조건을 취소
외국 KEY 제약 조건을 삭제하려면 다음 SQL을 사용 :
MySQL은 :
DROP FOREIGN KEY fk_PerOrders
SQL 서버 / 오라클 / MS 액세스 :
DROP CONSTRAINT fk_PerOrders