SQL BUITELANDSE SLEUTEL Sleutelwoord
ONBEKENDE SLEUTEL
Die FOREIGN KEY
beperking is 'n sleutel wat gebruik word om twee tabelle aan mekaar te koppel.
'N BUITELANDSE SLEUTEL is 'n veld (of versameling velde) in een tabel wat na die PRIMÊRE SLEUTEL in 'n ander tabel verwys.
SQL BUITELANDSE SLEUTEL op CREATE TABLE
Die volgende SQL skep 'n BUITELANDSE SLEUTEL op die "PersonID" kolom wanneer die "Bestellings" tabel geskep word:
MySQL:
CREATE TABLE Orders
(
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
);
SQL Server / Oracle / MS Access:
CREATE TABLE Orders
(
OrderID int NOT NULL PRIMARY KEY,
OrderNumber int NOT NULL,
PersonID int FOREIGN KEY REFERENCES Persons(PersonID)
);
Om die naam van 'n BUITELANDSE SLEUTEL-beperking toe te laat, en om 'n BUITELANDSE SLEUTEL-beperking op veelvuldige kolomme te definieer, gebruik die volgende SQL-sintaksis:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Orders
(
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
CONSTRAINT FK_PersonOrder FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID)
);
SQL BUITELANDSE SLEUTEL op ALTER TABEL
Om 'n BUITELANDSE SLEUTEL-beperking op die "PersonID"-kolom te skep wanneer die "Bestellings"-tabel reeds geskep is, gebruik die volgende SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Orders
ADD FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID);
Om die naam van 'n BUITELANDSE SLEUTEL-beperking toe te laat, en om 'n BUITELANDSE SLEUTEL-beperking op veelvuldige kolomme te definieer, gebruik die volgende SQL-sintaksis:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Orders
ADD CONSTRAINT FK_PersonOrder
FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID);
LAAT 'n BUITELANDSE SLEUTEL-beperking
Om 'n BUITELANDSE SLEUTEL beperking te laat vaar, gebruik die volgende SQL:
MySQL:
ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;
SQL Server / Oracle / MS Access:
ALTER TABLE Orders
DROP CONSTRAINT FK_PersonOrder;