Transaksjonsegenskaper
Transaksjoner, ofte kjent under begrepet SYRE, har fire hovedegenskaper.
MySQL -transaksjoner som fungerer:
Innenfor MySQL brukes de to begrepene, forpliktelse og tilbakeføring først og fremst bare for MySQL -transaksjoner. Transaksjonene starter bare med BEGIN -erklæring og avslutt. SQL -instruksjonene utgjør størstedelen av transaksjonen blant både start- og stopp -uttalelsene. Slike begivenhetsserier er uavhengig av det spesifikke programmeringsspråket som brukes. Du vil lage en passende vei på hvilket språk du bruker for å bygge applikasjonen. SQL -setningene nedenfor kan implementeres ved hjelp av MySQL Query () -funksjonen.
Eksempel 01: AutoCommit -modus på:
MySQL opererer med AutoCommit -fasen tillatt gjennom standard. Det sikrer at MySQL lagrer endringene på disken for å lage den evig så lenge vi kjører en spørring som justerer (endrer) en tabell. Det er ikke nødvendig å snu trekket tilbake. La oss prøve med AutoCommit på modus. Åpne MySQL-kommandolinjeskallet og skriv passordet ditt for å begynne.
Ta et eksempel på en tabell 'bok' som er opprettet i en database 'data'. Akkurat nå har vi ikke utført noen spørsmål om det ennå.
>> Velg * fra data.bok;Steg 2: Denne prosessen er å oppdatere tabellen 'bok'. La oss oppdatere verdien av kolonnen 'Forfatter' der 'navnet' til en bok er 'hjem'. Du kan se at endringer er gjort med hell.
>> Oppdater data.boksett forfatter = 'cristian steward' hvor name = 'hjem';Ved å ha et glimt av det oppdaterte tabellen, har vi en modifisert verdi av forfatteren der 'Name' er 'Home'.
>> Velg * fra data.bok;La oss bruke Rollback -kommandoen for å tilbakestille endringene ved å legge til spørringen nedenfor. Du kan se at Rollback -spørringen ikke fungerer her, da det viser at '0 rader berørt'.
>> Rollback;Du kan til og med se bordet også. Tabellen har ingen endringer etter utførelsen av tilbakeslagsuttalelsen så langt. Dette betyr at tilbakeslaget ikke fungerer når vi har autokommitert på som standard.
>> Velg * fra data.bok;Eksempel 02: AutoCommit -modus av:
La oss prøve med AutoCommit Off -modus for å tilbakestille endringene, la oss prøve med AutoCommit Off -modus. Ved å bruke det samme eksemplet på tabellen 'bok', vil vi utføre noen endringer på den. Vi vil bruke starttransaksjonserklæringen for å deaktivere dens auto-commit-fase eller bare skrive inn kommandoen nedenfor for å sette AutoCommit av.
>> Sett AutoCommit = 0;La oss si at vi har den samme tabellen 'bok' i vår database, og vi må gjøre endringer i den. Deretter vende tilbake disse endringene til de gamle igjen.
>> Velg * fra data.bok;Hvis du ikke har slått av AutoCommit -modus, må du starte en starttransaksjonsspørsmål i kommandolinjeskallet som nedenfor.
>> Start transaksjon;Vi vil oppdatere den samme tabellen ved å bruke oppdateringskommandoen ved å sette 'forfatteren' som 'Aliana' der 'navnet' på en bok er 'drøm'. Gjør det ved å bruke kommandoen nedenfor. Du vil se at endringene vil bli gjort vellykket og effektivt.
>> Oppdater data.boksett autho = 'aliana' hvor navn = 'drøm';La oss sjekke om spørringen ovenfor har fungert perfekt og gjort endringer i tabellen eller ikke. Du kan sjekke den oppdaterte tabellen ved å bruke kommandoen nedenfor som alltid.
>> Velg * fra data.bok;Du kan se at spørringen har fungert bra, som vist nedenfor.
Nå er det en sving av Rollback -kommandoen for å utføre sin funksjon. Prøv Rollback -kommandoen i kommandolinjen for å rulle tilbake den nylige oppdateringen til tabellen.
>> Rollback;La oss sjekke om tilbakeslagsspørsmålet har blitt fungert som det skal fungere eller ikke. For dette må du sjekke tabellen 'bok' igjen ved å bruke 'Select' -kommandoen som alltid.
>> Velg * fra data.bok;Du kan se fra utgangen nedenfor at Rollback endelig har fungert. Det har tilbakeført endringene som er gjort av oppdateringsspørsmålet på denne tabellen.
Konklusjon:
Det er alt for MySQL -transaksjoner. Jeg håper denne guiden vil hjelpe deg å utføre MySQL -transaksjoner praktisk.