MySQL MariaDB

MySQL-transacties

MySQL-transacties
Een transactie is een gelijktijdige verzameling van functies voor het manipuleren van datasets en wordt uitgevoerd alsof het een enkele werkeenheid is. Met andere woorden, een transactie kan nooit worden voltooid voordat elk specifiek proces binnen de eenheid succesvol is. Het hele proces zal instorten als een transactie binnen het proces crasht. Verschillende SQL-query's worden in een eenheid geknuppeld en ze zullen allemaal samen worden uitgevoerd als een deel van de transactie. Telkens wanneer een transactie verschillende updates van een database bevat en de transactie wordt vastgelegd, werken alle wijzigingen of worden alle updates teruggedraaid wanneer de bewerking wordt teruggedraaid.

Transactie-eigenschappen

Transacties, vaak bekend onder de term ZUUR, hebben vier algemene eigenschappen:.

MySQL-transacties werken:

Binnen MySQL worden de twee termen Commit en Rollback voornamelijk alleen gebruikt voor MySQL-transacties. De transacties beginnen alleen met de BEGIN WORK-aangifte en eindigen ofwel met een COMMIT-aangifte of een ROLLBACK-aangifte. De SQL-instructies omvatten het grootste deel van de transactie tussen zowel de start- als de stop-instructies. Dergelijke gebeurtenisreeksen zijn ongeacht de specifieke programmeertaal die wordt gebruikt. Je maakt een geschikt pad in welke taal je ook gebruikt om de applicatie te bouwen. De onderstaande SQL-instructies kunnen worden geïmplementeerd met behulp van de mysql-query()-functie.

Voorbeeld 01: AutoCommit-modus aan:

MySQL werkt met de Autocommit-fase die standaard is toegestaan. Het zorgt ervoor dat MySQL de wijzigingen op de schijf opslaat om deze permanent te maken, zolang we een query uitvoeren die een tabel aanpast (verandert). Het is niet nodig om de zet terug te draaien. Laten we proberen met AUTOCOMMIT in de modus. Open uw MySQL-opdrachtregelshell en typ uw wachtwoord om te beginnen.

Neem een ​​voorbeeld van een tabel 'boek' dat is gemaakt in een database 'gegevens'. Op dit moment hebben we er nog geen query op uitgevoerd.

>> KIES * UIT gegevens.boek;

Stap 2: Dit proces is om het tabel 'boek' bij te werken. Laten we de waarde van kolom 'Auteur' bijwerken waar de 'Naam' van een boek 'Home' is. U kunt zien dat de wijzigingen zijn doorgevoerd.

>> UPDATE gegevens.boek SET Auteur = 'Cristian Steward' WHERE Naam = 'Thuis';

Door een glimp op te vangen van de bijgewerkte tabel, hebben we een gewijzigde waarde van de auteur waarbij 'naam' 'Home' is.

>> KIES * UIT gegevens.boek;

Laten we het ROLLBACK-commando gebruiken om de wijzigingen ongedaan te maken door simpelweg de onderstaande query toe te voegen:. U kunt zien dat de ROLLBACK-query hier niet werkt, omdat deze laat zien dat '0 rijen zijn beïnvloed'.

>> ROLLBACK;

Je kunt zelfs de tafel zien. De tabel heeft tot nu toe geen wijzigingen na de uitvoering van de ROLLBACK-instructie. Dit betekent dat de ROLLBACK niet werkt als we AUTOCOMMIT standaard hebben ingeschakeld.

>> KIES * UIT gegevens.boek;

Voorbeeld 02: AutoCommit-modus uit:

Om de gemaakte wijzigingen ongedaan te maken, proberen we de AUTOCOMMIT uit-modus. Gebruikmakend van hetzelfde voorbeeld van tabel 'boek', zullen we er enkele wijzigingen in aanbrengen. We zullen de START TRANSACTION-declaratie gebruiken om de auto-commit-fase te deactiveren of typ gewoon de onderstaande opdracht om AUTOCOMMIT uit te schakelen.

>> AUTOMATISCH INSTELLEN = 0;

Laten we zeggen dat we hetzelfde tabel 'boek' in onze database hebben, en dat we er wijzigingen in moeten aanbrengen. Zet die wijzigingen vervolgens weer terug in de oude.

>> KIES * UIT gegevens.boek;

Als u de AUTOCOMMIT-modus niet hebt uitgeschakeld, begin dan met een START TRANSACTION-query in de opdrachtregelshell zoals hieronder.

>> START TRANSACTIE;

We zullen dezelfde tabel bijwerken met het UPDATE-commando door de 'Auteur' in te stellen als 'Aliana', waarbij de 'Naam' van een boek 'Droom' is. Doe het met behulp van de onderstaande opdracht:. U zult zien dat de wijzigingen succesvol en effectief worden doorgevoerd.

>> UPDATE gegevens.boek SET Autho = 'Aliana' WHERE Naam = 'Droom';

Laten we eens kijken of de bovenstaande query perfect heeft gewerkt en wijzigingen in de tabel hebben aangebracht of niet. U kunt de bijgewerkte tabel controleren door zoals altijd de onderstaande SELECT-opdracht te gebruiken:.

>> KIES * UIT gegevens.boek;

U kunt zien dat de query goed heeft gewerkt, zoals hieronder wordt weergegeven:.

Nu is het een beurt aan het ROLLBACK-commando om zijn functie uit te voeren. Probeer de ROLLBACK-opdracht in uw opdrachtregel om de recente update terug te draaien naar de tabel.

>> ROLLBACK;

Laten we eens kijken of de ROLLBACK-query heeft gewerkt zoals het zou moeten werken of niet. Hiervoor moet je de tabel 'book' opnieuw controleren door zoals altijd het 'SELECT'-commando te gebruiken.

>> KIES * UIT gegevens.boek;

U kunt aan de onderstaande uitvoer zien dat ROLLBACK eindelijk heeft gewerkt. Het heeft de wijzigingen teruggedraaid die zijn aangebracht door de UPDATE-query op deze tabel.

Conclusie:

Dat is alles voor MySQL-transacties. Ik hoop dat deze gids u zal helpen om MySQL-transacties gemakkelijk uit te voeren.

Hoe League Of Legends op Ubuntu 14 te installeren.04
Als je fan bent van League of Legends, dan is dit een kans voor jou om League of Legends te testen. Merk op dat LOL wordt ondersteund op PlayOnLinux a...
Installeer de nieuwste OpenRA Strategy Game op Ubuntu Linux
OpenRA is een Libre/Free Real Time Strategy-game-engine die de vroege Westwood-games nabootst, zoals de klassieke Command & Conquer: Red Alert. Gedist...
Installeer de nieuwste Dolphin Emulator voor Gamecube & Wii op Linux
Met de Dolphin Emulator kun je de door jou gekozen Gamecube- en Wii-spellen spelen op Linux Personal Computers (pc). Omdat het een vrij beschikbare e...