Sql-foreign-key

提供:Dev Guides
移動先:案内検索

SQL-外部キー

外部キーは、2つのテーブルをリンクするために使用されるキーです。 これは、参照キーとも呼ばれます。

外部キーは、値が別のテーブルの主キーと一致する列または列の組み合わせです。

  • 2つのテーブル間の関係は、2つのテーブルの外部キーを持ついずれかのテーブルのプライマリキーと一致します。*

テーブルのいずれかのフィールドで定義された主キーがある場合、そのフィールドの同じ値を持つ2つのレコードを持つことはできません。

次の2つのテーブルの構造を検討してください。

顧客表

CREATE TABLE CUSTOMERS(
   ID   INT              NOT NULL,
   NAME VARCHAR (20)     NOT NULL,
   AGE  INT              NOT NULL,
   ADDRESS  CHAR (25) ,
   SALARY   DECIMAL (18, 2),
   PRIMARY KEY (ID)
);
  • ORDERSテーブル*
CREATE TABLE ORDERS (
   ID          INT        NOT NULL,
   DATE        DATETIME,
   CUSTOMER_ID INT references CUSTOMERS(ID),
   AMOUNT     double,
   PRIMARY KEY (ID)
);

ORDERSテーブルが既に作成されており、外部キーがまだ設定されていない場合、テーブルを変更して外部キーを指定する構文を使用します。

ALTER TABLE ORDERS
   ADD FOREIGN KEY (Customer_ID) REFERENCES CUSTOMERS (ID);

外部キー制約のドロップ

FOREIGN KEY制約を削除するには、次のSQL構文を使用します。

ALTER TABLE ORDERS
   DROP FOREIGN KEY;