Latest web development tutorials

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은 :

CREATE TABLE Orders
(
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 액세스 :

CREATE TABLE Orders
(
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 액세스 :

CREATE TABLE Orders
(
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 액세스 :

ALTER TABLE Orders
ADD FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)

FOREIGN KEY 제약 조건 이름을 지정하고 열 FOREIGN KEY 제약의 복수를 정의하려면, 다음과 같은 SQL 구문을 사용합니다 :

MySQL의 / SQL 서버 / 오라클 / MS 액세스 :

ALTER TABLE Orders
ADD CONSTRAINT fk_PerOrders
FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)


FOREIGN KEY 제약 조건을 취소

외국 KEY 제약 조건을 삭제하려면 다음 SQL을 사용 :

MySQL은 :

ALTER TABLE Orders
DROP FOREIGN KEY fk_PerOrders

SQL 서버 / 오라클 / MS 액세스 :

ALTER TABLE Orders
DROP CONSTRAINT fk_PerOrders