Heim >Datenbank >MySQL-Tutorial >Wenn zwei Tabellen mit MySQL FOREIGN KEY verbunden sind, wie können wir dann sagen, dass die Daten in der untergeordneten Tabelle ihre Integrität bewahren?

Wenn zwei Tabellen mit MySQL FOREIGN KEY verbunden sind, wie können wir dann sagen, dass die Daten in der untergeordneten Tabelle ihre Integrität bewahren?

王林
王林nach vorne
2023-08-25 19:45:25805Durchsuche

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

Tatsächlich erzwingen Fremdschlüssel die referenzielle Integrität und helfen uns, die Konsistenz und Integrität der Daten automatisch aufrechtzuerhalten. Dies lässt sich am Beispiel der beiden Tabellen „Kunde“ und „Bestellungen“ nachvollziehen. Hier ist „Kunde“ die übergeordnete Tabelle und „Bestellungen“ die untergeordnete Tabelle. Wir können keine Bestellungen für nicht existierende Kunden erstellen. Dies kann durch Einfügen von Werten in beide Tabellen demonstriert werden, wie unten gezeigt –

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)

Nehmen wir nun an, wir versuchen, den Wert eines nicht vorhandenen Kunden in die Tabelle „Bestellungen“ einzufügen (ID 10 existiert nicht in der Tabelle „Kunde“) " Tabelle), dann gibt MySQL einen Fehler aufgrund des folgenden Fehlers aus: Fremdschlüsseleinschränkung.

mysql> insert into orders values(400, 'Notebook',10);
ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`query`.`orders`, CONSTRAINT `orders_ibfk_1` FOREIGN KEY (`id`) REFERENCES `customer` (`id`))

Das obige ist der detaillierte Inhalt vonWenn zwei Tabellen mit MySQL FOREIGN KEY verbunden sind, wie können wir dann sagen, dass die Daten in der untergeordneten Tabelle ihre Integrität bewahren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen