MySQL 外部キー制約は、テーブル間の関係を制限する制約を指します。1 つのテーブルにカラムを定義すると、このカラムは別のテーブルのカラムを参照します。この関連付け関係により、データの整合性と一貫性が保証されます。
このチュートリアルのオペレーティング システム: 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 サイトの他の関連記事を参照してください。