Partea 11.6: Cascade șterge datele din bazele de date SQLite
Bună ziua, ZametkiNaPolyah.ru vizitator site-ul. Vom continua să exploreze baza de date și familiaritatea noastră cu biblioteca SQLite3. Publicația anterioară a fost cu privire la modificarea în cascadă în această vom vorbi despre cascadă șterge datele din baza de date SQLite3 bazei de date. Cascade șterge datele este o modalitate de a elimina datele din tabelele legate și nu încalcă constrângerea cheie externă, în plus, în cascadă șterge datele simplifică munca noastră la ștergerea rândurilor din tabele aferente.
Cascade șterge datele din bazele de date SQLite
Din această înregistrare, veți afla ce aveți nevoie pentru a șterge cascadă de date într-o bază de date relațională și modul în cascadă șterge face viața mai ușoară pentru dezvoltator. Și veți vedea un exemplu de funcționare a eliminării în cascadă sub controlul datelor din tabelele bazei de date SQLite de comunicare legate de multe-la-mulți, în general, se vor întreprinde acțiuni în construcția de ON DELETE CASCADE.
Cascade șterge datele din bazele de date SQLite
La punerea în aplicare a relațiilor dintre tabele cu ajutorul unei chei externe sau FOREIGN KEY ne confruntăm cu o astfel de problemă: pentru a elimina datele din tabelele bazei de date, avem nevoie pentru a executa două comenzi Ștergețidin: în primul rând trebuie să eliminați datele din tabelul de director, și apoi ștergeți rândul din tabel, care se referă la director. În caz contrar, SQLite spun că constrângerea cheie externă a fost rupt și nu va șterge datele.
Pentru a evita astfel de probleme și nu scrie interogări SQL care nu sunt necesare în cascadă de date din tabele au să șteargă fost puse în aplicare în SQLite. cascadă de date de ștergere nu scrie interogare SQL suplimentare DELETE, și, de asemenea, asigură-te că integritatea datelor în baze de date nu este compromisă.
Funcționarea în cascadă ștergerea datelor este implementată folosind o expresie de acces pe DELETE CASCADE. Expresia ON DELETE CASCADE spune SQLite că trebuie să eliminați mai întâi datele din directorul sau domeniu de date, iar apoi datele trebuie să fie eliminate din tabel, care se referă la acest director.
Pentru a pune în aplicare în cascadă șterge datele dintr-un tabel de baze de date, aveți nevoie pentru a scrie ON regulă șterge imediat după FOREIGN KEY, în timp ce SQLite va „înțelege“ că, atunci când datele sunt șterse din directorul, aceasta trebuie să fie eliminate, iar datele din tabelele aferente.
Să pună în aplicare un exemplu de mulți-la-mulți, și a vedea modul în care cascada șterge datele din bazele de date SQLite3 și să înțeleagă funcționarea ON DELETE de proiectare CASCADE.
Exemple în cascadă a șterge datele din baza de date SQLite. ON DELETE în SQLite3
Pentru a vedea cum se elimină etapa de date. să creeze trei tabele în baza de date. care va fi legat de obligațiuni multe pentru mulți, vom folosi comanda CREATE:
Am revizuit cascada șterge datele dintr-o bază de date SQLite. care este implementat folosind cuvântul cheie ON DELETE CASCADE. În primul rând, în cascadă șterge datele reduce numărul de interogări SQL. În al doilea rând, pe design CASADE DELETE permite eliminarea datelor din tabel, fără a deranja cheia externă.
Un pic despre modul de a crea site-uri și cum să promoveze site-ul:
Vă recomandăm să observe și să citească:
SQLite baza de date deja orientate pentru a menține integritatea datelor și inserturi de dragoste ale tuturor celorlalte cereri, deoarece fiecare operațiune în baza de date - aceasta minitranzaktsiya, care este deghizat ca o cerere normală.
Într-adevăr, în cascadă ștergerea datelor ar trebui să fie folosite și aplicate în mod corect, nu ar lăsa pe Dumnezeu să nu distrugă structura de stocare a datelor, sau pentru o lungă perioadă de timp trebuie să deranjez cu backup-uri!
Nu înțeleg diferența dintre o cascadă șterge date de la ștergerea normală, deoarece atât instrucțiunea DELETE este executat, vă rugăm să explicați?
Olga, iar legarea în cascadă șterge datele din baza de date și ștergerea obișnuită a datelor din baza de date este, de fapt îndeplinită comanda DELETE, dar diferența este că:
1. Tu nu va fi în măsură să pună în aplicare o cascadă șterge datele în cazul în care mesele sunt legate de constrângeri cheie străine.
2. cascadă șterge datele se realizează numai în cazul în care este setat pentru proiectarea coloana asociată ON DELETE CASCADE.
3. Cascade Delete vă permite să nu încalce regulile cheie străine, datorită faptului că verificările SQLite legate de coloane și eliminați rândurile din ambele tabele.
4. În ștergerea obișnuită a datelor din tabelele aferente, trebuie mai întâi să eliminați datele din tabel, care se referă la director, și apoi șterge datele din directorul. Astfel, ai face două în loc de o singură interogare.
Bună ziua. Textul acestui articol este următorul:
„În primul rând trebuie să eliminați datele din tabelul de director, și apoi ștergeți rândul din tabel, care se referă la manualul.“
Se pare că există ochepyatka.