Latest web development tutorials

Ograniczenie SQL FOREIGN KEY

Ograniczenie SQL FOREIGN KEY

Klucz obcy w tabeli do jednego punktu inny klucz tabeli podstawowej.

Użyjmy przykład wyjaśnić klucz obcy. Rozważmy następujące dwie tabele:

"Osoby" tabeli:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

"Zamówienia" tabeli:

O_Id OrderNo P_Id
1 77895 3
2 44678 3
3 22456 2
4 24562 1

Należy pamiętać, że "Zamówienia" stół "p_id" punkt kolumna "osoby" stół "p_id" kolumny.

"Osoby" stół "p_id" kolumna jest "Osoby" tabeli klucz podstawowy.

"Zamówienia" stół "p_id" kolumna jest "Zamówienia" tabeli klucza obcego.

FOREIGN KEY ograniczeniem jest używany, aby zapobiec uszkodzeniu połączenia pomiędzy zachowaniem tabeli.

FOREIGN KEY zapobiega również ograniczenie nielegalnych danych do kolumny klucza obcego, to musi być jeden, ponieważ wskazuje na stole.


FOREIGN KEY SQL CREATE TABLE, gdy ograniczenie

Poniższy SQL kiedy "Zamówienia" Stół jest stworzony, aby utworzyć klucz obcy ograniczenia w kolumnie "p_id":

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 Server / Oracle / MS Access:

CREATE TABLE Orders
(
O_Id int NOT NULL PRIMARY KEY,
OrderNo int NOT NULL,
P_Id int FOREIGN KEY REFERENCES Persons(P_Id)
)

Aby wymienić klucz obcy ograniczenia i zdefiniować wiele kolumny klucz obcy ograniczeń, należy użyć następującej składni SQL:

MySQL / SQL Server / Oracle / MS dostępu:

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 ALTER FOREIGN KEY TABELA kiedy

Kiedy "Zamówienia" tabela została stworzona dla kolumn utworzyć FOREIGN KEY ograniczenie "p_id", proszę kliknąć na poniższy SQL:

MySQL / SQL Server / Oracle / MS dostępu:

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

Aby wymienić klucz obcy ograniczenia i zdefiniować wiele kolumny klucz obcy ograniczeń, należy użyć następującej składni SQL:

MySQL / SQL Server / Oracle / MS dostępu:

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


Cofanie ograniczenie klucz obcy

Aby usunąć ograniczenie klucz obcy, należy użyć następującego SQL:

MySQL:

ALTER TABLE Orders
DROP FOREIGN KEY fk_PerOrders

SQL Server / Oracle / MS Access:

ALTER TABLE Orders
DROP CONSTRAINT fk_PerOrders