ホームページ データベース mysql チュートリアル MySQL でテーブルを作成するための外部キーを記述する方法

MySQL でテーブルを作成するための外部キーを記述する方法

Apr 22, 2024 pm 07:51 PM
mysql

MySQL では、次の手順でテーブル外部キーを作成できます。親テーブルと子テーブルを作成し、対応する列が親テーブルに存在することを確認します。 FOREIGN KEY 制約を使用して、子テーブルの列を親テーブルの列に関連付けます。オプションで、親テーブルのレコードが削除または更新されたときの子テーブルのレコードへの影響を定義するカスケード操作を指定します。クエリを実行して、外部キー制約が正しく適用されているかどうかを確認します。

MySQL でテーブルを作成するための外部キーを記述する方法

MySQL を使用してテーブル外部キーを作成する方法

MySQL では、外部キー制約を使用して、子テーブルのレコードは、親テーブルの関連レコードに対応します。データの一貫性と整合性を維持するのに役立ちます。外部キーを作成する手順は次のとおりです。

1. 親テーブルと子テーブルを作成します

まず、外部キー列を含む子テーブルを作成します。 。対応する列が親テーブルに存在することを確認してください。例:

CREATE TABLE parent_table (
  id INT NOT NULL,
  name VARCHAR(255)
);

CREATE TABLE child_table (
  id INT NOT NULL,
  parent_id INT,
  name VARCHAR(255)
);
ログイン後にコピー

2. 外部キー制約を作成します

子テーブルの FOREIGN KEY 制約を parent_id に使用します。子テーブル 列は、親テーブルの id 列に関連付けられています。例:

ALTER TABLE child_table
ADD FOREIGN KEY (parent_id) REFERENCES parent_table (id);
ログイン後にコピー

3. カスケード操作の指定 (オプション)

カスケード操作では、親テーブルのレコードが削除または更新されるときに外部キー制約を定義します。子テーブル内のレコード。これらの操作は、ON DELETE 句と ON UPDATE 句を使用して指定できます。例:

ALTER TABLE child_table
ADD FOREIGN KEY (parent_id) REFERENCES parent_table (id)
ON DELETE CASCADE
ON UPDATE RESTRICT;
ログイン後にコピー

この例では次のように指定します:

  • 親テーブルで参照されている親レコードが削除されると、関連する子レコードが子テーブルからカスケード削除されます。
  • 親テーブル内の参照された親レコードが更新されると、更新はブロックされます。

4. 制約の確認

外部キー制約を作成した後、次のクエリを実行して制約が適用されているかどうかを確認します。 ##クエリが返した場合 結果は、親レコードに対応しないレコードが子テーブルに存在し、外部キー制約が正しく適用されていないことを示しています。

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

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPのビッグデータ構造処理スキル PHPのビッグデータ構造処理スキル May 08, 2024 am 10:24 AM

PHPのビッグデータ構造処理スキル

PHP で MySQL クエリのパフォーマンスを最適化するにはどうすればよいですか? PHP で MySQL クエリのパフォーマンスを最適化するにはどうすればよいですか? Jun 03, 2024 pm 08:11 PM

PHP で MySQL クエリのパフォーマンスを最適化するにはどうすればよいですか?

PHP で MySQL のバックアップと復元を使用するにはどうすればよいですか? PHP で MySQL のバックアップと復元を使用するにはどうすればよいですか? Jun 03, 2024 pm 12:19 PM

PHP で MySQL のバックアップと復元を使用するにはどうすればよいですか?

PHP を使用して MySQL テーブルにデータを挿入するにはどうすればよいですか? PHP を使用して MySQL テーブルにデータを挿入するにはどうすればよいですか? Jun 02, 2024 pm 02:26 PM

PHP を使用して MySQL テーブルにデータを挿入するにはどうすればよいですか?

データベースにおける Java 列挙型のアプリケーション シナリオは何ですか? データベースにおける Java 列挙型のアプリケーション シナリオは何ですか? May 05, 2024 am 09:06 AM

データベースにおける Java 列挙型のアプリケーション シナリオは何ですか?

MySQL 8.4 で mysql_native_password がロードされていないエラーを修正する方法 MySQL 8.4 で mysql_native_password がロードされていないエラーを修正する方法 Dec 09, 2024 am 11:42 AM

MySQL 8.4 で mysql_native_password がロードされていないエラーを修正する方法

PHP で MySQL ストアド プロシージャを使用するにはどうすればよいですか? PHP で MySQL ストアド プロシージャを使用するにはどうすればよいですか? Jun 02, 2024 pm 02:13 PM

PHP で MySQL ストアド プロシージャを使用するにはどうすればよいですか?

PHP 配列ページングのパフォーマンス最適化戦略 PHP 配列ページングのパフォーマンス最適化戦略 May 02, 2024 am 09:27 AM

PHP 配列ページングのパフォーマンス最適化戦略

See all articles