ホームページ > データベース > mysql チュートリアル > MySQL でテーブルを作成するときに外部キー制約を記述する方法

MySQL でテーブルを作成するときに外部キー制約を記述する方法

下次还敢
リリース: 2024-04-22 19:52:00
オリジナル
1006 人が閲覧しました

MySQL 外部キー制約の構文は次のとおりです: ALTER TABLE child_table ADD FOREIGN KEY (foreign_key_column) REFERENCESparent_table (primary_key_column)。これにより、2 つのテーブル間の関係の整合性が保証されます。外部キー制約の機能は次のとおりです。 1. データの整合性: 制約された子テーブル参照が親テーブルに存在する必要があります。 2. カスケード更新: 親テーブルの主キー値が変更されたときにすべての参照を自動的に更新します。 3. カスケード削除: 親。テーブルの主キー 値が削除されると、すべての参照が自動的に削除されます。

MySQL でテーブルを作成するときに外部キー制約を記述する方法

MySQL 外部キー制約の構文

MySQL では、外部キー制約を使用して、2 つのテーブル間で関係の誠実さ。構文は次のとおりです:

<code>ALTER TABLE child_table
ADD FOREIGN KEY (foreign_key_column)
REFERENCES parent_table (primary_key_column)</code>
ログイン後にコピー

その中に:

  • child_table: 外部キー制約を追加する必要があるテーブル。
  • foreign_key_column: parent_table の主キーを参照する child_table 内の列。
  • parent_table: 制約を定義するために主キーが使用される参照テーブル。
  • primary_key_column: parent_table で参照される主キー列。

外部キー制約の役割

外部キー制約は、次のことを保証するのに役立ちます:

  • データ整合性プロパティ: 親テーブルに存在しない参照が子テーブルに挿入されるのを防ぎます。
  • カスケード更新: 親テーブルの主キーの値が変更されると、参照されているすべての子テーブルの値が自動的に更新されます。
  • カスケード削除: 親テーブルの主キー値が削除されると、子テーブルで参照されているすべての値が自動的に削除されます。

2 つのテーブルがあるとします: ordersorder_items:

<code>CREATE TABLE orders (
  order_id INT NOT NULL AUTO_INCREMENT,
  customer_id INT NOT NULL,
  PRIMARY KEY (order_id)
);

CREATE TABLE order_items (
  item_id INT NOT NULL AUTO_INCREMENT,
  order_id INT NOT NULL,
  product_id INT NOT NULL,
  PRIMARY KEY (item_id),
  FOREIGN KEY (order_id) REFERENCES orders (order_id)
);</code>
ログイン後にコピー

この例では、order_items テーブルの外部キー制約により、各 order_id 値が orders テーブルに存在することが保証されます。これは、orders テーブルに存在しない order_id 値を order_items テーブルに挿入できないことを意味します。

以上がMySQL でテーブルを作成するときに外部キー制約を記述する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート