Heim > Datenbank > MySQL-Tutorial > Hauptteil

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?

王林
Freigeben: 2023-08-25 19:45:25
nach vorne
746 Leute haben es durchsucht

当两个表用 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)
Nach dem Login kopieren

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`))
Nach dem Login kopieren

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!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!