English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
FOREIGN KEY制約は、テーブルが結合されるための鍵です。
FOREIGN KEYは、テーブル内のフィールド(またはフィールドの集合)であり、別のテーブルのPRIMARY KEYを参照します。
テーブル「PersonID」を作成する際、以下のSQLを使用して列にFOREIGN KEY「Orders」を追加します:
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) );
FOREIGN KEY制約を名前付ける場合、複数の列にFOREIGN KEY制約を定義する場合、以下のSQL文法を使用してください:
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) );
既に作成されたテーブルの「PersonID」列にFOREIGN KEY制約「Orders」を追加する場合、以下のSQLを使用してください:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Orders ADD FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);
FOREIGN KEY制約を名前付ける場合、複数の列にFOREIGN KEY制約を定義する場合、以下のSQL文法を使用してください:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Orders ADD CONSTRAINT FK_PersonOrder FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);
FOREIGN KEY制約を削除するには、以下のSQLを使用してください:
MySQL:
ALTER TABLE Orders DROP FOREIGN KEY FK_PersonOrder;
SQL Server / Oracle / MS Access:
ALTER TABLE Orders DROP CONSTRAINT FK_PersonOrder;