ホームページ > よくある問題 > mysqlの外部キー制約とはどういう意味ですか?

mysqlの外部キー制約とはどういう意味ですか?

百草
リリース: 2023-07-10 09:56:33
オリジナル
2125 人が閲覧しました

MySQL 外部キー制約は、テーブル間の関係を制限する制約を指します。1 つのテーブルにカラムを定義すると、このカラムは別のテーブルのカラムを参照します。この関連付け関係により、データの整合性と一貫性が保証されます。

mysqlの外部キー制約とはどういう意味ですか?

このチュートリアルのオペレーティング システム: Windows 10 システム、mysql バージョン 8.0、Dell G3 コンピューター。

MySQL 外部キー制約は、テーブル間の関係を制限する制約を指します。あるテーブルの列を定義して、別のテーブルの列を参照することができます。この相関関係により、データの整合性と一貫性が保証されます。

MySQL は広く使用されているリレーショナル データベース管理システムであり、一般にデータ ストレージとネットワーク アプリケーションの管理に使用されます。 MySQL の外部キー制約とは、データの整合性を確保し、データの関係を管理するために使用されるメカニズムを指します。MySQL では、テーブル間の関係により、外部キー制約を使用すると、データの削除や更新などの操作が制限され、それによってデータの一貫性と正確性が保証されます。システム全体のデータ。

外部キー自体は、外部キー列を介して 2 つのテーブル間の接続を作成し、関連付け関係を形成する特別な列です。 MySQL では、外部キー制約を作成するには特定の条件を満たす必要があります。たとえば、両方のテーブルでエンジン タイプ InnoDB を使用し、外部キー カラムが関連テーブルの主キー カラムと同じタイプである必要があります。外部キー制約を作成するときに、関連付けられたテーブルの主キー列にインデックスを定義して、クエリ速度を向上させることができます。

外部キー制約を使用すると、データの冗長性やエラーの回避、データの不整合の防止、データの整合性と正確性の向上など、多くの利点が得られます。 MySQL では、外部キー制約によりカスケード削除および更新操作を実装することもできます。つまり、メイン テーブルのレコードが削除または更新されると、スレーブ テーブルの関連レコードも自動的に削除または更新されるため、システムのメンテナンスと管理が簡素化されます。 。

外部キー制約を使用すると、次の点を達成できます:

1. 親テーブルのレコードの削除を防止する

CREATE TABLE 表名(
id INT PRIMARY KEY,
...
);
CREATE TABLE 子表名称(
id INT PRIMARY KEY,
rid INT,
...
CONSTRAINT fk_table1 FOREIGN KEY(rid) REFERENCES 表名(id)
);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

このコードでは、FOREIGN KEY および REFERENCES キーワードを使用します。関連付けを作成します。子テーブルで外部キー制約を使用して親テーブルを参照すると、親テーブルのレコードが削除されたときに子テーブルの行が削除されなくなります。

2. 無効な値の挿入を防止する

CREATE TABLE 表名(
id INT PRIMARY KEY,
...
);
CREATE TABLE 子表名称(
id INT PRIMARY KEY,
rid INT,
...
CONSTRAINT fk_table1 FOREIGN KEY(rid) REFERENCES 表名(id)
);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

このコードでは、FOREIGN KEY キーワードと REFERENCES キーワードを使用して関連付けます。子テーブルで外部キー制約を使用して親テーブルを参照すると、親テーブルに存在しない値を子テーブルに挿入しようとすると拒否されます。

3. データの整合性と一貫性を確保する

CREATE TABLE 表名(
id INT PRIMARY KEY,
...
);
CREATE TABLE 子表名称(
id INT PRIMARY KEY,
rid INT,
...
CONSTRAINT fk_table1 FOREIGN KEY(rid) REFERENCES 表名(id)
);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

このコードでは、FOREIGN KEY と REFERENCES キーワードが関連付けに使用されています。子テーブルで外部キー制約を使用して親テーブルを参照すると、子テーブルの Rid 列が親テーブルの ID 列から取得される必要があります。この相関により、データの整合性と一貫性が保証されます。

以上がmysqlの外部キー制約とはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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