MySQL MariaDB

MySQL transakcije

MySQL transakcije
Transakcija je simultano prikupljanje funkcija za manipulaciju skupovima podataka i provodi se kao da je jedna cjelina posla. Drugim riječima, transakcija se nikada ne može izvršiti dok svaki pojedini postupak ne bude uspješan unutar jedinice. Cijeli će se proces srušiti ako se padne bilo koja transakcija unutar procesa. Nekoliko SQL upita udruženo je u jedinicu i svi će se oni izvršiti zajedno kao dio njegove transakcije. Kad god transakcija sadrži nekoliko ažuriranja baze podataka, a transakcija je počinjena, sve izmjene rade ili se sva ažuriranja ponište kad god se operacija vrati.

Svojstva transakcije

Transakcije, često poznate pod tim pojmom KISELINA, imaju četiri glavna opća svojstva.

MySQL transakcije rade:

Unutar MySQL-a, dva pojma „Obvršavanje“ i „Vraćanje unatrag“ primarno se koriste samo za MySQL transakcije. Transakcije započinju samo s BEGIN WORK deklaracijom i završavaju COMMIT deklaracijom ili ROLLBACK deklaracijom. SQL upute obuhvaćaju većinu transakcija i između naredbi za pokretanje i zaustavljanje. Takve serije događaja su neovisne o specifičnom programskom jeziku koji se koristi. Napravit ćete prikladan put na bilo kojem jeziku koji koristite za izgradnju aplikacije. Sljedeći SQL izrazi mogu se implementirati pomoću značajke mysql query ().

Primjer 01: Uključen način automatskog predavanja:

MySQL radi s fazom Autocommit dopuštenom prema zadanim postavkama. Osigurava da MySQL sprema promjene na disk kako bi ih trajno stvarao sve dok pokrenemo upit koji prilagođava (mijenja) tablicu. Nije potrebno vratiti potez. Pokušajmo s AUTOCOMMIT on mode. Otvorite ljusku naredbenog retka MySQL i za početak unesite lozinku.

Uzmimo primjer tablice 'knjiga' koja je kreirana u bazi podataka 'podaci'. Trenutno još nismo izvršili nijedan upit za to.

>> ODABERI * IZ podataka.knjiga;

Korak 2: Ovaj je postupak za ažuriranje tablice 'knjiga'. Ažurirajmo vrijednost stupca "Autor" gdje je "Ime" knjige "Početna". Vidite da su promjene uspješno izvršene.

>> AŽURIRANJE podataka.knjiga SET Autor = 'Cristian Steward' WHERE Ime = 'Početna';

Uvidom u ažuriranu tablicu imamo izmijenjenu vrijednost autora gdje je "ime" "Početna".

>> ODABERI * IZ podataka.knjiga;

Upotrijebimo naredbu ROLLBACK za vraćanje promjena jednostavnim dodavanjem upita u nastavku. Možete vidjeti da upit ROLLBACK ovdje ne radi, jer pokazuje da je "0 redaka pogođeno".

>> VRAĆANJE;

Možete vidjeti i tablicu. Tablica do sada nije imala promjena nakon izvršavanja izraza ROLLBACK. To znači da ROLLBACK ne radi kada imamo AUTOCOMMIT uključenu prema zadanim postavkama.

>> ODABERI * IZ podataka.knjiga;

Primjer 02: Isključen način automatskog predavanja:

Da vratimo izvršene promjene, pokušajmo s načinom isključenog AUTOCOMMIT. Koristeći isti primjer tablice 'knjiga', izvršit ćemo neke promjene na njoj. Koristit ćemo deklaraciju START TRANSACTION da deaktiviramo njezinu fazu automatskog urezivanja ili jednostavno upišemo naredbu ispod kako bismo isključili AUTOCOMMIT.

>> SET AUTOCOMMIT = 0;

Recimo da imamo istu tablicu 'knjiga' u našoj bazi podataka i moramo je unijeti promjene. Zatim te promjene vratite na stare.

>> ODABERI * IZ podataka.knjiga;

Ako niste isključili način AUTOCOMMIT, započnite s upitom START TRANSACTION u ljusci naredbenog retka kao ispod.

>> POČNI TRANSAKCIJU;

Ažurirat ćemo istu tablicu pomoću naredbe UPDATE postavljanjem "Autor" kao "Aliana" gdje je "Ime" knjige "San". Učinite to pomoću naredbe u nastavku. Vidjet ćete da će se promjene izvršiti uspješno i učinkovito.

>> AŽURIRANJE podataka.knjiga SET Autho = 'Aliana' WHERE Ime = 'San';

Provjerimo je li gornji upit savršeno funkcionirao i je li promijenio tablicu ili nije. Ažuriranu tablicu možete provjeriti pomoću dolje navedene naredbe SELECT kao i uvijek.

>> ODABERI * IZ podataka.knjiga;

Možete vidjeti da je upit izvrsno funkcionirao, kao što je prikazano u nastavku.

Sada je red da naredba ROLLBACK izvrši svoju funkciju. Pokušajte naredbu ROLLBACK u naredbenom retku za vraćanje nedavnog ažuriranja u tablicu.

>> VRAĆANJE;

Provjerimo je li upit ROLLBACK obrađen onako kako bi trebao ili ne. Da biste to učinili, morate ponovno provjeriti tablicu 'knjiga' pomoću naredbe 'SELECT' kao i uvijek.

>> ODABERI * IZ podataka.knjiga;

Iz donjeg rezultata možete vidjeti da je ROLLBACK napokon uspio. Vratio je promjene izvršene UPDATE upitom na ovoj tablici.

Zaključak:

To je sve za MySQL transakcije. Nadam se da će vam ovaj vodič pomoći da povoljno obavljate MySQL transakcije.

Najbolji Linux Distros za igre na sreću 2021. godine
Linux operativni sustav daleko je prevalio svoj izvorni, jednostavni izgled zasnovan na poslužitelju. Ovaj se OS posljednjih godina izuzetno poboljšao...
Kako snimiti i struji svoju igraću sesiju na Linuxu
U prošlosti se igranje igara smatralo samo hobijem, ali s vremenom je igračka industrija zabilježila ogroman rast u pogledu tehnologije i broja igrača...
Najbolje igre za ručno praćenje
Oculus Quest nedavno je predstavio sjajnu ideju ručnog praćenja bez kontrolera. Sa sve većim brojem igara i aktivnosti koje izvršavaju podršku bilo fo...