MySQL löschen Kaskade

MySQL löschen Kaskade
Auf MySQL wird die Anweisung in Löschen der Kaskade verwendet, um entsprechende Zeilen aus der untergeordneten Tabelle implizit herauszuholen, wenn Zeilen aus der übergeordneten Tabelle entfernt werden. Dies ist eine relative Art von Kontextverhalten von Fremdschlüsselbeschwerden.

Angenommen, Sie haben zwei Tabellen mit einem fremden Schlüssel in einer ausländischen Schlüsselbeziehung produziert, wobei Sie einen Eltern- und Kindertisch rendern. Danach sollte ein für einen fremden Schlüssel vorgesehen, damit ein anderes während der gesamten Kaskadierungsaktivitäten erfolgreich ist, und dann geben wir eine Anweisung für Löschkaskade an. Wenn eine einzelne ausländische Schlüsselaussage die Löschkaskade löscht, löst die Kaskadierungsfunktionen eine Ausnahme aus.

Lassen Sie uns verstehen, wie wir in der MySQL -Tabelle die Anweisung für Löschkaskade verwenden können.

Sie müssen die kürzlich installierte MySQL-Befehlszeilen-Client-Shell öffnen, um mit dem Arbeiten fortzufahren. Beim Öffnen werden Sie aufgefordert, Ihr Passwort einzugeben, um die MySQL-Befehlszeilen-Client-Shell weiter zu verwenden, wie unten angegeben.

Als nächstes werden wir zwei Tische mit dem Namen "Order" und "Customer" erstellen. Beide gegenseitigen Tabellen sind mit der Löschkaskadenfunktion mithilfe eines Fremdschlüssels verbunden. Eine „Bestellung“ ist die übergeordnete Tabelle an dieser Stelle, und die Kindertabelle ist der „Kunde“. Mit den begleitenden Skripten müssen Sie zusammen mit den jeweiligen Datensätzen beide Tabellen konstruieren. Verwenden Sie den folgenden Befehl „Verwenden“, um die Datenbank auszuwählen, in der Sie arbeiten möchten, oder Tabellen erstellen. Hier ist „Daten“ die Datenbank, die wir verwenden.

>> Daten verwenden;

Elterntabelle erstellen:

Zunächst müssen Sie die Tabelle „Order“ zusammen mit den Feldern mit dem Befehl create table erstellen, wie in der folgenden Abfrage gezeigt. Die Spalte "ID" wird in der nächsten Tabelle "Kunde" als Fremdschlüssel verwendet.

>> Tabellendaten erstellen.order (id int primärschlüssel auto_increment nicht null, item varchar (50) nicht null, Preis varchar (50) nicht null);

Fügen wir dieser Tabelle einige Daten hinzu. Sie müssen die folgenden Abfragen in der MySQL-Befehlszeilenschale ausführen und jeden Befehl einzeln in der Befehlszeile ausführen oder einfach alle Befehle in der Befehlszeile in einem einzigen Schritt hinzufügen. Sie können auch die MySQL Workbench -GUI verwenden, um der Tabelle Daten hinzuzufügen.

Überprüfen wir nun die Tabelle „Bestellung“, nachdem Sie Werte eingegeben haben. Sie können den Befehl SELECT für diesen Zweck wie folgt verwenden:

>> aus Daten auswählen.Befehl;

Sie können sehen, dass die Daten wie erwartet erfolgreich in die Tabelle „Reihenfolge“ gespeichert wurden.

Erstellen Sie ein untergeordnetes Tisch mit Löschenkaskade:

Nun ist es die Wendung, dass eine andere Tabelle namens "Kunde" erstellt wird.

Zunächst müssen Sie das Schlüsselwort "erstellen" zusammen mit dem Tabellennamen eingeben. Dann müssen Sie zusammen mit ihren Datentypen Feld- oder Spaltennamen hinzufügen. Sie müssen die letzte Spalte benennen, die in dieser Tabelle als Fremdschlüssel verwendet wird, genauso wie Sie sie in der vorherigen Tabelle benannt haben. Wie Sie wissen, wurde die Spalte "ID" aus Tabelle "Order" als Fremdschlüssel in der Tabelle "Kunde" als "Orderid" verwendet. Danach müssen Sie das Schlüsselwort „Einschränkung“ hinzufügen, mit dem der Fremdschlüssel zusammen mit der Referenz der vorherigen Tabelle initialisiert wird. Jetzt müssen Sie die Anweisung "Cascade delete Cascade" zusammen mit dem Schlüsselwort "On" verwenden.

>> Tabellendaten erstellen.Kunde (CustID int nicht null auto_increment Primärschlüssel, Name varchar (45) NICHT NULL, orderid int nicht null, Einschränkung order_id_fk fremdschlüssel (ordentliche) referenzieren Daten.Bestellung (ID) auf Löschen der Kaskade);

Nachdem die Tabelle erstellt wurde und die Löschkaskade erfolgreich auf dieser Tabelle ausgeübt wurde, ist es an der Zeit, einige Werte in diese Tabelle einzufügen. Probieren Sie die folgenden Anweisungen einzeln in der MySQL-Befehlszeilen-Client-Shell aus, um dies zu tun.

Anschließend das Einfügen von Abfragen durchführen. Es ist ein Punkt, die Tabelle zu überprüfen, ob die Daten erfolgreich hinzugefügt wurden oder nicht. Versuchen Sie es also unten, dies zu tun:

>> aus Daten auswählen.Kunde;

Hier können Sie einen Einblick in die Tabellenausgabe haben, dass die Daten ihm effizient und ohne Fehler oder Fehler zugeordnet sind.

Datensätze löschen:

Wenn Sie nun Daten oder Zeilen aus der übergeordneten Tabelle löschen, löscht sie auch die Daten oder Zeile aus der untergeordneten Tabelle, da die in der untergeordneten Tabelle genannten ausländischen Kaskade löschen. Versuchen wir zuerst die Abfrage Löschen und überprüfen Sie dann die Ergebnisse. Wir werden die Daten aus der Tabelle "Order" löschen, in der die "ID" "11" ist. Wenn in der Tabelle "Kunde" in der Spalte Ausländischer Schlüssel "orderId" die gleiche "ID" gefunden wird, wird die relative Zeile oder Daten in der Tabelle "Kunde" auch gelöscht. Probieren Sie den unterhaltsamen Befehl in der Befehlszeile aus:

>> aus Daten löschen. bestellen, wo id = '11';

Lassen Sie uns zunächst die übergeordnete Tabelle überprüfen. Geben Sie dann den unten gefundenen Befehl aus, um die verbleibenden Datensätze der Tabelle „Order“ nach dem Löschen einiger Datensätze abzurufen. Sie werden sehen, dass der Datensatz der Tabelle, in der die "ID" „11“ war, erfolgreich aus dieser Tabelle gelöscht wurde. Dies bedeutet, dass die relativen Aufzeichnungen desselben ID -Wertes, "11", ebenfalls aus der Kindertabelle gelöscht würden.

>> aus Daten auswählen.Befehl;

Das Abrufen der Datensätze der untergeordneten Tabelle mit dem Befehl SELECT ist so einfach wie zuvor. Probieren Sie einfach den folgenden Befehl aus, und Sie werden die Ergebnisse haben.

Wenn Sie die Ergebnisse erhalten. Dies liegt daran.

>> aus Daten auswählen.Kunde;

Wenn Sie versuchen, die übergeordnete Tabelle mit dem Befehl Drop fallen zu lassen, hindert MySQL Sie daran, dies zu tun. Dies liegt daran. Um den Tisch fallen zu lassen, müssen Sie zuerst die Löschenkaskade davon entfernen.

Abschluss:

Wir haben mit der Erklärung der Löschung der Kaskade in MySQL gemacht. Um es klarer zu machen, probieren Sie weitere Beispiele an Ihrem Ende aus.