SQL FOREIGN KEY
SQL FOREIGN KEY
Constraint
A FOREIGN KEY is a key
used to link two tables together.
A FOREIGN KEY in a table
points to a PRIMARY KEY in another table.
Look at the following two
tables:
"Persons"
table:
Person ID
|
Last Name
|
First Name
|
Age
|
1
|
Hansen
|
Ola
|
30
|
2
|
Svendson
|
Tove
|
23
|
3
|
Pettersen
|
Kari
|
20
|
"Orders" table:
OrderID
|
OrderNumber
|
PersonID
|
1
|
77895
|
3
|
2
|
44678
|
3
|
3
|
22456
|
2
|
4
|
24562
|
1
|
Notice that the
"PersonID" column in the "Orders" table points to the
"PersonID" column in the "Persons" table.
The "PersonID"
column in the "Persons" table is the PRIMARY KEY in the
"Persons" table.
The "PersonID"
column in the "Orders" table is a FOREIGN KEY in the
"Orders" table.
The FOREIGN KEY
constraint is used to prevent actions that would destroy links between tables.
The FOREIGN KEY
constraint also prevents invalid data from being inserted into the foreign key
column, because it has to be one of the values contained in the table it points
to.
SQL FOREIGN KEY on CREATE
TABLE
The following SQL creates
a FOREIGN KEY on the "PersonID" column when the "Orders"
table is created:
MySQL:
CREATE TABLE Orders
(
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
);
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
);
Comments
Post a Comment