Select*fromCustomer;+----+--------+|id|name |+----+-- ------+|1 |가우라브||2 |라만&"/> Select*fromCustomer;+----+--------+|id|name |+----+-- ------+|1 |가우라브||2 |라만&">

>데이터 베이스 >MySQL 튜토리얼 >MySQL FOREIGN KEY를 사용하여 두 테이블을 연결할 때 하위 테이블의 데이터가 무결성을 유지한다고 어떻게 말할 수 있습니까?

MySQL FOREIGN KEY를 사용하여 두 테이블을 연결할 때 하위 테이블의 데이터가 무결성을 유지한다고 어떻게 말할 수 있습니까?

王林
王林앞으로
2023-08-25 19:45:25776검색

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

실제로 외래 키는 참조 무결성을 강화하고 데이터의 일관성과 무결성을 자동으로 유지하는 데 도움이 됩니다. 이는 "고객"과 "주문"이라는 두 테이블의 예를 사용하여 이해할 수 있습니다. 여기서 "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은 다음 오류로 인해 오류를 발생시킵니다: 외래 키 제약 조건.

rreee

위 내용은 MySQL FOREIGN KEY를 사용하여 두 테이블을 연결할 때 하위 테이블의 데이터가 무결성을 유지한다고 어떻게 말할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제