실제로 FOREIGN KEY는 두 테이블의 데이터 사이에 링크를 설정하는 데 사용할 수 있는 열 또는 여러 열의 조합입니다. 즉, FOREIGN KEY 제약 조건이 두 테이블 모두와 관련되어 있다고 말할 수 있습니다. 또한 테이블의 기본 키가 다른 테이블의 외래 키와 연결되므로 데이터 무결성을 향상시키는 데 사용됩니다.
FOREIGN KEY [column_name] REFERENCES [table having Primary Key] ([column_name]);
여기서 REFERENCES는 FOREIGN KEY가 설정될 열 목록입니다. 기본 키가 있는 테이블은 기본 키가 포함된 테이블의 이름입니다. 기본 키가 설정되었습니다.
"Customer"와 "Orders"라는 두 개의 테이블이 있다고 가정해 보겠습니다. 두 테이블 간의 관계는 "Cust_Id" 필드에 지정된 "orders" 테이블의 외래 키를 통해 설정할 수 있습니다. 두 개의 테이블을 생성하는 쿼리는 다음과 같습니다. -
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!