MySQL でテーブル外部キー制約を作成すると、参照整合性が保証されます。手順は次のとおりです。 2 つのテーブルを作成し、主キーを指定します。親テーブルの主キーを参照する FOREIGN KEY 制約を子テーブルに追加します。必要に応じて、参照アクション (カスケード削除や制限付き更新など) を指定します。
#MySQL でテーブルの外部キー制約を作成する
外部キー制約が 2 つのテーブル間に確立されると、これにより、それらの間の参照整合性。次の手順では、MySQL でテーブルの外部キー制約を作成する方法を紹介します。ステップ 1: 2 つのテーブルを作成する
外部キー制約を確立する 2 つのテーブルを作成します。 :<code class="sql">CREATE TABLE parent_table ( id INT NOT NULL, name VARCHAR(255) NOT NULL, PRIMARY KEY (id) ); CREATE TABLE child_table ( id INT NOT NULL, parent_id INT NOT NULL, value VARCHAR(255) NOT NULL, PRIMARY KEY (id), FOREIGN KEY (parent_id) REFERENCES parent_table(id) );</code>
ステップ 2: 子テーブルに外部キー制約を追加します
child_table で、
FOREIGN KEY 制約を使用します
parent_id 列を
parent_table の
id 列に参照します:
<code class="sql">ALTER TABLE child_table ADD FOREIGN KEY (parent_id) REFERENCES parent_table(id);</code>
ステップ 3: 参照操作を指定します (オプション)
ON DELETE 句と
ON UPDATE 句を使用して、親テーブルが削除または更新されたときに子テーブルも削除または更新されるように指定できます。テーブル内の影響を受けるレコード:
<code class="sql">ALTER TABLE child_table ADD FOREIGN KEY (parent_id) REFERENCES parent_table(id) ON DELETE CASCADE ON UPDATE RESTRICT;</code>このコード内:
:
parent_table から削除するとき レコードが削除されたとき、関連レコードは
child_table からカスケード的に自動的に削除されます。
:
parent_table 内のレコードが更新されると、
child_table 内の影響を受けるレコードへの更新はブロックされます。
注:
以上がMySQL でテーブルを作成するときに外部キー制約を記述する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。