ホームページ > データベース > mysql チュートリアル > FOREIGN KEY とは何を意味しますか? MySQL テーブルでどのように使用できますか?

FOREIGN KEY とは何を意味しますか? MySQL テーブルでどのように使用できますか?

王林
リリース: 2023-09-06 13:53:02
転載
2444 人が閲覧しました

FOREIGN KEY 是什么意思以及我们如何在 MySQL 表中使用它?

実際には、FOREIGN KEY は、2 つのテーブル内のデータ間のリンクを設定するために使用できる列、または複数の列の組み合わせです。つまり、FOREIGN KEY 制約は両方のテーブルに関連していると言えます。テーブルの主キーは他のテーブルの外部キーにリンクされるため、データの整合性を強化するためにも使用されます。

構文

FOREIGN KEY [column_name] REFERENCES [table having Primary Key] ([column_name]);
ログイン後にコピー

ここで、REFERENCES はキーワードです。column_name は FOREIGN KEY を設定する列のリストです。主キーを持つテーブルは主キーを含むテーブルの名前です。列名はカラムのリストが設定されている PRIMARY KEY。

「Customer」と「Orders」という 2 つのテーブルがあるとします。 2 つのテーブル間の関係は、フィールド「Cust_Id」で指定されたテーブル「orders」の外部キーを通じて確立できます。 2 つのテーブルを作成するクエリは次のとおりです。-

mysql> Create Table Customer(Cust_ID int Primary Key, First_name Varchar(20), Last_name  Varchar(20), City Varchar(10));
Query OK, 0 rows affected (0.13 sec)

mysql> Create Table Orders(Order_Id Int Primary Key, Product_Name Varchar(25), Orderdate DATE, Cust_ID Int, FOREIGN KEY(Cust_ID) REFERENCES Customer(Cust_id));
Query OK, 0 rows affected (0.13 sec)

mysql> Describe Orders;
+--------------+-------------+------+-----+---------+-------+
| Field        | Type        | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| Order_Id     | int(11)     | NO   | PRI | NULL    |       |
| Product_Name | varchar(25) | YES  |     | NULL    |       |
| Orderdate    | date        | YES  |     | NULL    |       |
| Cust_ID      | int(11)     | YES  | MUL | NULL    |       |
+--------------+-------------+------+-----+---------+-------+
4 rows in set (0.04 sec)
ログイン後にコピー

ここで、テーブル "Customer" は親テーブルまたは参照テーブルと呼ばれ、テーブル "Orders" は子テーブルまたは参照テーブルと呼ばれます。子テーブルの行には、親テーブルに存在する値が含まれている必要があります。たとえば、テーブル「orders」の各行には、「customer」テーブルに存在する「Cust_Id」が必要です。

以上がFOREIGN KEY とは何を意味しますか? MySQL テーブルでどのように使用できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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