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
Beim Erstellen von Webseiten tritt häufig das Pro...
Problembeschreibung Ich möchte CSS verwenden, um ...
1. Erstellen Sie eine Datenbankautorisierungserkl...
Problembeschreibung Wie wir alle wissen, wird bei...
Der Befehl zur Tabellenerstellung erfordert: Der...
Wenn wir eine Seite erstellen, insbesondere eine ...
Inhaltsverzeichnis Zweck des Teleports So funktio...
Vorwort Vor Kurzem wurde ein Teil der Geschäftstä...
Codebeispiel: öffentliche Klasse JDBCDemo3 { öffe...
Vielleicht weiß jeder, dass die JS-Ausführung die...
In diesem Artikel werden zwei Methoden zur Implem...
Schauen wir uns zunächst die offizielle MySQL-Dok...
Verwenden Sie jQuery, um die Formularvalidierung ...
Inhaltsverzeichnis Die benutzerdefinierte CSS-Var...
es installation Docker-Pull Elasticsearch:7.4.0 #...