ホームページ  >  記事  >  データベース  >  2 つのテーブルが MySQL FOREIGN KEY を使用して接続されている場合、子テーブルのデータが整合性を維持しているとどのように言えますか?

2 つのテーブルが MySQL FOREIGN KEY を使用して接続されている場合、子テーブルのデータが整合性を維持しているとどのように言えますか?

王林
王林転載
2023-08-25 19:45:25724ブラウズ

当两个表用 MySQL FOREIGN KEY 连接时,怎么能说子表中的数据保持了完整性呢?

実際、外部キーは参照整合性を強制し、データの一貫性と整合性を自動的に維持するのに役立ちます。これは、「顧客」と「注文」という 2 つのテーブルの例を使用して理解できます。ここで、「customer」は親テーブル、「orders」は子テーブルです。存在しない顧客のために注文を作成することはできません。これは、以下に示すように両方のテーブルに値を挿入することで実証できます -

mysql> Select * from Customer;
+----+--------+
| id | name   |
+----+--------+
| 1  | Gaurav |
| 2  | Raman  |
| 3  | Harshit|
| 4  | Aarav  |
+----+--------+
4 rows in set (0.00 sec)
mysql> Select * from orders;
+-----------+-------------+------+
| order_id  | product     | id   |
+-----------+-------------+------+
| 100       | Notebook    | 1    |
| 110       | Pen         | 1    |
| 120       | Book        | 2    |
| 130       | Charts      | 2    |
+-----------+-------------+------+
4 rows in set (0.00 sec)

ここで、存在しない顧客の値を「orders」テーブルに挿入しようとするとします (ID 10 は存在しません) "customer" " テーブル内)、MySQL は次のエラーによりエラーをスローします: 外部キー制約。

えええええ

以上が2 つのテーブルが MySQL FOREIGN KEY を使用して接続されている場合、子テーブルのデータが整合性を維持しているとどのように言えますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。