MySQL MariaDB

MySQL KATRÁD TÖRLÉS

MySQL KATRÁD TÖRLÉS
A MySQL-en a KASZÁD TÖRLÉSE utasítást használják arra, hogy implicit módon kivegyék a megfelelő sorokat a gyermektáblából, valahányszor a sorokat eltávolítják a szülőtábláról. Ez egy viszonylagos típusú idegen kulccsal kapcsolatos kontextusbeli viselkedés.

Tételezzük fel, hogy két táblát készítettél egy FOREIGN KEY-el egy idegen kulcskapcsolaton belül, egy szülő és gyermek táblát renderelve. Ezt követően meg kell javítani egy FOREIGN KEY-re szánt eszközt, hogy egy másik sikeres legyen a lépcsőzetes tevékenységek során, majd megadunk egy ON DELETE CASCADE utasítást. Talán, ha egyetlen FOREIGN KEY utasítás meghatározza az ON DELETE CASCADE-t, a lépcsőzetes függvények kivételt váltanak ki.

Nézzük meg, hogyan használhatjuk a MySQL táblázatban az ON DELETE CASCADE utasítást.

A munka folytatásához meg kell nyitnia a nemrég telepített MySQL parancssori klienshéjat. Megnyitásakor meg kell adnia jelszavát a MySQL parancssori ügyfélhéj használatának folytatásához, az alábbiakban mellékelt módon.

Ezután két táblázatot fogunk építeni, úgynevezett „megrendelés” és „ügyfél”. Mindkét kölcsönös tábla idegen kulcs használatával kapcsolódik a törlés kaszkád funkcióhoz. A „megrendelés” ebben a pillanatban a szülő tábla, a gyermek tábla pedig az „ügyfél”. A kísérő szkriptekkel és a megfelelő rekordokkal együtt meg kell szerkesztenie mindkét táblázatot. Az alábbi „use” paranccsal válassza ki azt az adatbázist, amelyben dolgozni szeretne, vagy táblákat szeretne létrehozni benne. Itt az „adatok” az általunk használt adatbázis.

>> felhasználja az adatokat;

Szülőtábla létrehozása:

Először létre kell hoznia a „order” táblázatot és annak mezőit a CREATE TABLE paranccsal, az alábbi lekérdezés szerint. Az „ID” oszlop a következő „ügyfél” táblázatban lesz idegen kulcs.

>> TABLE adatok létrehozása.rendelés (ID INT PRIMARY KEY AUTO_INCREMENT NOT NULL, item VARCHAR (50) NOT NULL, Price VARCHAR (50) NOT NULL);

Adjunk hozzá néhány adatot ehhez a táblázathoz. Az alább látható lekérdezéseket a MySQL parancssori héjában kell végrehajtania, és minden parancsot külön kell futtatnia a parancssorban, vagy egyszerűen hozzá kell adnia a parancssor összes parancsát egyetlen lépésben. A MySQL Workbench GUI segítségével adatokat is hozzáadhat a táblához.

Most ellenőrizzük a táblázat „rendelését”, miután értékeket adtunk bele. A SELECT parancsot erre a célra használhatja az alábbiak szerint:

>> SELECT * FROM adatok.rendelés;

Láthatja, hogy az adatokat a várt módon sikeresen elmentette a „sorrend” táblába.

Gyermektábla létrehozása a DELETE Cascade használatával:

Itt a sor, hogy létrejöjjön egy másik „ügyfél” nevű tábla.

Először be kell írnia a „CREATE” kulcsszót a táblázat nevével együtt. Ezután meg kell adnia a mezők vagy oszlopok nevét az adattípusokkal együtt. Meg kell neveznie az utolsó oszlopot, amelyet idegen kulcsként használunk ebben a táblázatban, ugyanúgy, mint az előző táblázatban. Mint tudják, a „megrendelés” táblázat „ID” oszlopát használták külföldi kulcsként az „ügyfél” táblázatban, mint „OrderID”. Ezt követően hozzá kell adnia a „CONSTRAINT” kulcsszót, amelyet a FOREIGN kulcs inicializálásához használ, az előző táblázat hivatkozásával együtt. Most a „KASCÁD TÖRLÉSE” utasítást és az „BE” kulcsszót kell használnia.

>> TABLE adatok létrehozása.ügyfél (CustID INT NOT NULL.rendelés (ID) KASZÁD TÖRLÉSE);

Miután létrehozta a táblázatot, és a DELETE CASCADE sikeresen végrehajtásra került ezen a táblán, ideje beszúrni néhány értéket ebbe a táblázatba. Ehhez hajtsa végre az alábbi utasításokat a MySQL parancssori ügyfélhéjban.

Ezt követően végezze el a lekérdezések beillesztését. Fontos ellenőrizni a táblázatot, hogy az adatok sikeresen hozzáadódtak-e vagy sem. Tehát próbálja ki ezt az alábbi parancsot:

>> SELECT * FROM adatok.vevő;

Itt bepillanthat a táblázat kimenetébe, hogy az adatok hatékonyan vannak hozzárendelve, hiba és hiba nélkül.

Rekordok törlése:

Most, amikor töröl bármilyen adatot vagy sort a szülőtáblázatból, az törli az adatokat vagy sort a gyermektáblából is a gyermektáblában említett idegen kulcson engedélyezett KATKÁRT TÖRLÉS miatt. Először próbáljuk ki a DELETE lekérdezést, majd ellenőrizzük az eredményeket. Töröljük az adatokat a „rendelés” táblázatból, ahol az „azonosító” „11”. Ha ugyanaz az „ID” megtalálható a „OrderID” idegen kulcs oszlop „ügyfél” táblázatában, akkor az „ügyfél” táblázat relatív sora vagy adatai is törlődnek. Ehhez próbálja ki az alábbi parancsot a parancssorban:

>> TÖRLÉS ADATOKBÓL. rendelés WHERE ID = '11';

Először ellenőrizzük a szülő táblázatot. Ezután írja be az alább található SELECT parancsot a „order” tábla többi rekordjának letöltéséhez néhány rekord törlése után. Látni fogja, hogy a táblázat rekordját, ahol az „ID” „11” volt, sikeresen törölte erről a tábláról. Ez azt jelenti, hogy az azonos azonosítójú, „11” relatív rekordokat a gyermektáblázatból is törölnék.

>> SELECT * FROM adatok.rendelés;

A gyermektábla rekordjainak lekérése a SELECT paranccsal ugyanolyan egyszerű, mint korábban. Csak próbálkozzon az alábbi paranccsal, és meglesz az eredménye.

Az eredmények megszerzése után láthatja, hogy az „1” értékű „CustID” rekordot teljesen törölték. Ez azért van, mert a „OrderID” oszlop első sorában „11” van, ami ennek a sornak a törléséhez vezet.

>> SELECT * FROM adatok.vevő;

Amikor megpróbálja eldobni a szülőtáblát a DROP paranccsal, a MySQL megakadályozza ezt. Ez azért van, mert a szülő tábla engedélyezte a KASZÁD TÖRLÉSE rajta. Tehát az asztal eldobásához először el kell távolítania róla a KASZÁD TÖRLÉSE.

Következtetés:

A MySQL-ben a DELETE CASCADE magyarázatával végeztünk. Hogy világosabb legyen, próbáljon ki több példát a végén.

Az egér mozgásának vezérlése és kezelése több monitor között a Windows 10 rendszerben
Dual Display Mouse Manager lehetővé teszi az egér mozgásának vezérlését és konfigurálását több monitor között, lassítva annak mozgását a határ közeléb...
A WinMouse segítségével testre szabhatja és javíthatja az egérmutató mozgását a Windows PC-n
Ha szeretné javítani az egérmutató alapértelmezett funkcióit, használjon ingyenes programokat WinMouse. További funkciókat kínál, amelyek segítenek ab...
Az egér bal oldali gombja nem működik a Windows 10 rendszeren
Ha dedikált egeret használ laptopjával vagy asztali számítógépével, de a az egér bal gombja nem működik a Windows 10/8/7 rendszeren valamilyen oknál f...