1. Fremdschlüsselfunktion: MySQL verwendet Fremdschlüsseleinschränkungen, um die Integrität und Genauigkeit der Daten zwischen Tabellen sicherzustellen. 2. Bedingungen für die Verwendung von Fremdschlüsseln
3. Grammatik erstellen
4. Fallbeispiel CASCADE-Einschränkungsmodus 1. Erstellen Sie die Power-Tabelle (übergeordnete Tabelle) Land Tabelle Land erstellen ( id int ungleich null, Name varchar(30), Primärschlüssel (ID) ); 2. Datensätze einfügen, in Länderwerte einfügen (1, „Westeuropa“); in Länderwerte einfügen (2, „Maya“); in Länderwerte einfügen (3, „Sizilien“); 3. Erstellen Sie eine Waffentabelle (Untertabelle) und legen Sie Einschränkungen fest. Erstellen Sie die Tabelle „Soldat“ ( id int ungleich null, Name varchar(30), Länder-ID int, Primärschlüssel (ID), Der Fremdschlüssel (country_id) verweist auf country(id) bei Löschkaskade bei Aktualisierungskaskade, ); 4. Referenzintegritätstest, eingefügt in Soldatenwerte (1, „Westeuropäische Infanterie-Auszubildende“, 1); #insert erfolgreich in Soldatenwerte eingefügt (2, „Maya-Kurzspeerkämpfer“, 2); #insert erfolgreich in Solider-Werte eingefügt (3, „Sizilien – Normannische Ritter“, 3) #erfolgreich einfügenin Solider-Werte einfügen (4, „Französischer Schwertkämpfer“, 4); #Einfügen fehlgeschlagen, da in der Ländertabelle keine Fraktion mit der ID 4 vorhanden ist. 5. Test der Einschränkungsmethode „insert into solider values(4, 'Maya Tiger Warriors', 2);“ #Löschen aus Land mit ID=2 erfolgreich eingefügt; #Dies führt dazu, dass die Datensätze mit den IDs 2 und 4 in der Soldatentabelle gleichzeitig gelöscht werden, da diese Fraktion in der übergeordneten Tabelle nicht mehr vorhanden ist und die entsprechenden Waffen daher natürlich verschwinden. Update Country Set ID=8, wobei ID=1 ist. #Als Ergebnis werden alle Datensätze in der Soldatentabelle mit country_id 1 ebenfalls auf 8 geändert Mit SET NULL-Einschränkung 1. Erstellen Sie eine Soldatentabelle (Untertabelle) und stellen Sie eine Einschränkungsbeziehung her, um die Tabelle zu löschen, falls ein Soldat vorhanden ist. Tabelle erstellen Soldat( id int ungleich null, Name varchar(30), Länder-ID int, Primärschlüssel (ID), Der Fremdschlüssel (country_id) verweist auf country(id), beim Löschen wird auf Null gesetzt, beim Aktualisieren wird auf Null gesetzt, ); 2. Referenzintegritätstest, eingefügt in Soldatenwerte (1, „Westeuropäische Infanterie-Auszubildende“, 1); #insert erfolgreich in Soldatenwerte eingefügt (2, „Maya-Kurzspeerkämpfer“, 2); #insert erfolgreich in Solider-Werte eingefügt (3, „Sizilien – Normannische Ritter“, 3) #erfolgreich einfügenin Solider-Werte einfügen (4, „Französischer Schwertkämpfer“, 4); #Einfügen fehlgeschlagen, da in der Ländertabelle keine Fraktion mit der ID 4 vorhanden ist. 3. Testen Sie die Einschränkungsmethode „Einfügen in Soldatenwerte“ (4, „Sizilianischer Bogenschütze“, 3); #Löschen aus Land mit ID=3 erfolgreich eingefügt; #Dies führt dazu, dass die Datensätze mit den IDs 3 und 4 in der Soldatentabelle auf NULL gesetzt werden Ländersatz-ID aktualisieren=8, wobei ID=1 ist; # Bewirkt, dass alle Datensätze in der Soldatentabelle, bei denen country_id 1 ist, auf NULL gesetzt werden Im NO ACTION- oder RESTRICT-Modus (Standard) 1. Erstellen Sie eine Soldatentabelle (Untertabelle) und stellen Sie eine Einschränkungsbeziehung her, um die Tabelle zu löschen, falls ein Soldat vorhanden ist. Tabelle erstellen Soldat( id int ungleich null, Name varchar(30), Länder-ID int, Primärschlüssel (ID), Der Fremdschlüssel (country_id) verweist auf country(id) beim Löschen RESTRICT beim Aktualisieren RESTRICT, ); 2. Referenzintegritätstest, eingefügt in Soldatenwerte (1, „Westeuropäische Infanterie-Auszubildende“, 1); #insert erfolgreich in Soldatenwerte eingefügt (2, „Maya-Kurzspeerkämpfer“, 2); #insert erfolgreich in Solider-Werte eingefügt (3, „Sizilien – Normannische Ritter“, 3) #erfolgreich einfügenin Solider-Werte einfügen (4, „Französischer Schwertkämpfer“, 4); #Einfügen fehlgeschlagen, da in der Ländertabelle 3 keine Fraktion mit der ID 4 vorhanden ist. Test der Einschränkungsmethode „insert into solider values(4, 'Western European Knights', 1);“ #Löschen aus Land mit ID=1 erfolgreich eingefügt; #Ein Fehler ist aufgetreten. In der untergeordneten Tabelle gibt es zugehörige Datensätze, daher können die entsprechenden Datensätze in der übergeordneten Tabelle nicht gelöscht werden. Das heißt, die Waffentabelle enthält auch Waffen, die zu Westeuropa gehören, daher können die westeuropäischen Streitkräfte in der übergeordneten Tabelle nicht einzeln gelöscht werden. Update Country Set ID=8, wobei ID=1; #Fehler, es gibt zugehörige Datensätze in der untergeordneten Tabelle, daher kann die übergeordnete Tabelle nicht geändert werden Oben finden Sie eine ausführliche Erläuterung der MySQL-Fremdschlüsseleinschränkungen. Weitere Informationen zu MySQL-Fremdschlüsseleinschränkungen finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Detailliertes Tutorial zur Installation von CUDA9.0 auf Ubuntu16.04
>>: Detaillierte Erklärung der dynamischen Komponenten von vue.js
*Seite erstellen: zwei Eingabefelder und ein Butt...
So ändern Sie den Bild-Hyperlink, wenn Sie mit der...
Heureka: 1. Erstellen Sie ein JDK-Image Starten S...
Vor einiger Zeit habe ich einen Blogbeitrag mit d...
Vorwort Bezüglich der HugePages- und Oracle-Daten...
Inhaltsverzeichnis 1. Vorbereitung: 2. Quellcode-...
【Autor】 Liu Bo: Leitender Datenbankmanager im Ctr...
<br />Vorwort: Bevor Sie dieses Tutorial les...
Was? Welcher Sternenmantel? Schauen wir uns zur V...
Lassen Sie mich Ihnen zuerst das Effektbild zeige...
1. Einführung in Docker 1.1 Virtualisierung 1.1.1...
Inhaltsverzeichnis 1. Zertifikat generieren 2. Ak...
Inhaltsverzeichnis Vorwort Was sind asynchrone It...
Inhaltsverzeichnis Vorwort Anruf Verwendung errei...
Fehlermeldung: FEHLER 2002 (HY000): Verbindung zu...