Rumah > Artikel > pangkalan data > Apakah maksud FOREIGN KEY dan bagaimana kita boleh menggunakannya dalam jadual MySQL?
Sebenarnya FOREIGN KEY adalah lajur atau gabungan beberapa lajur yang boleh digunakan untuk menetapkan pautan antara data dalam dua jadual. Dengan kata lain, kita boleh mengatakan bahawa kekangan KUNCI ASING berkaitan dengan dua jadual. Ia juga digunakan untuk meningkatkan integriti data kerana kunci utama jadual dipautkan kepada kunci asing jadual lain.
FOREIGN KEY [column_name] REFERENCES [table having Primary Key] ([column_name]);
Di sini RUJUKAN ialah kata kunci nama_lajur ialah senarai lajur yang akan ditetapkan oleh KUNCI ASING ialah nama jadual yang mengandungi kunci utama; PRIMARY KEY telah ditetapkan.
Andaikan kita mempunyai dua jadual "Pelanggan" dan "Pesanan". Hubungan antara kedua-dua jadual boleh diwujudkan melalui kunci asing dalam jadual "pesanan" yang ditentukan oleh medan "Cust_Id". Pertanyaan untuk mencipta dua jadual adalah seperti berikut -
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)
Di sini, jadual "Pelanggan" dipanggil jadual induk atau jadual rujukan dan jadual "Pesanan" dipanggil jadual anak atau jadual rujukan. Baris dalam jadual anak mesti mengandungi nilai yang wujud dalam jadual induk. Contohnya, setiap baris dalam jadual "pesanan" mesti mempunyai "Cust_Id" yang wujud dalam jadual "pelanggan".
Atas ialah kandungan terperinci Apakah maksud FOREIGN KEY dan bagaimana kita boleh menggunakannya dalam jadual MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!