Transazioni MySQL

Transazioni MySQL
Una transazione è una raccolta simultanea di funzioni per manipolare set di dati ed è effettuata come se fosse una singola entità di lavoro. In altri termini, una transazione non può mai essere eseguita fino a quando ogni particolare processo non avrà esito positivo all'interno dell'unità. L'intero processo crollerà se si blocca una transazione all'interno del processo. Diverse query SQL vengono cluttate in un'unità e tutte saranno eseguite insieme come parte della sua transazione. Ogni volta che una transazione incorpora diversi aggiornamenti a un database e la transazione viene impegnata, tutte le modifiche funzionano o tutti gli aggiornamenti vengono invertiti ogni volta che l'operazione viene ribaltata.

Proprietà delle transazioni

Transazioni, spesso conosciute con il termine ACIDO, avere quattro principali proprietà generali.

  • Atomicita: Ciò garantisce che tutte le attività all'interno dell'unità di lavoro vengano completate con successo; Altrimenti, proprio nel punto di fallimento, il processo viene terminato e i processi precedenti vengono ripristinati al loro vecchio stato.
  • Consistenza: Ciò significa che, su un processo sufficientemente impegnato, il database si aggiorna in modo appropriato.
  • Isolamento: Aiuta le transazioni a lavorare tra loro e individualmente e trasparente.
  • Durabilità: Ciò si assicura che in caso di rottura del sistema, esito o conseguenza di una transazione impegnata mantenga.

Transazioni MySQL che funzionano:

All'interno di MySQL, i due termini, il commit e il rollback sono utilizzati principalmente solo per le transazioni MySQL. Le transazioni iniziano solo con la dichiarazione di lavoro iniziale e finiscono per una dichiarazione di commit o una dichiarazione di rollback. Le istruzioni SQL comprendono la maggior parte della transazione tra le dichiarazioni di avvio e arresto. Tale serie di eventi è indipendentemente dal linguaggio di programmazione specifico utilizzato. Farai un percorso adatto in qualunque lingua tu stia usando per creare l'applicazione. Le istruzioni SQL di seguito possono essere implementate utilizzando la funzione MySQL Query ().

  • INIZIO: Inizia il processo o la transazione fornendo l'istruzione SQL di inizio lavoro.
  • Aggiungi comando SQL: una o ancora più istruzioni SQL come selezionare, inserire, aggiornare ed eliminare, rispettivamente. Conferma anche se non c'è errore e tutto è conforme alle tue aspettative.
  • COMMETTERE: L'istruzione di commit deve essere imposta dopo che una transazione riuscita è stata effettuata, in modo tale che le modifiche a tutte le tabelle associate possano avere pieno effetto.
  • Rollback: Se si verifica un malfunzionamento, è davvero opportuno inviare un'istruzione di rollback per ripristinare ciascuna tabella specificata nella transazione verso la sua condizione precedente.
  • Autocommit: Per impostazione predefinita, MySQL applica le modifiche in modo permanente a un database. Se l'autocommit è impostato su 1 (standard), si presume che ogni query SQL (indipendentemente dal fatto che sia all'interno di una transazione) sia una transazione completata e commessa fino a quando non viene completato per impostazione predefinita. Per evitare il commit automatico, impostare l'autocommit su 0.

Esempio 01: modalità Autocommit on:

MySQL opera con la fase automatica consentita tramite impostazione predefinita. Garantisce che MySQL salva le modifiche sul disco per crearlo perpetuamente fintanto che eseguiamo una query che regola (altera) una tabella. Non è necessario riportare indietro la mossa. Proviamo con la modalità automatica in modalità. Apri la shell della riga di comando MySQL e digita la password per iniziare.

Prendi un esempio di un "libro" della tabella che è stato creato in un database "dati". In questo momento, non abbiamo ancora eseguito alcuna domanda.

>> Seleziona * dai dati.libro;

Passo 2: Questo processo è aggiornare il "libro" della tabella. Aggiorniamo il valore della colonna "autore" in cui il "nome" di un libro è "Home". Puoi vedere le modifiche sono state apportate con successo.

>> Aggiorna dati.Book Set Author = 'Cristian Steward' dove Name = 'Home';

Avendo un assaggio della tabella aggiornata, abbiamo un valore modificato dell'autore in cui il "nome" è "Home".

>> Seleziona * dai dati.libro;

Usiamo il comando rollback per ripristinare le modifiche semplicemente aggiungendo la query di seguito. Puoi vedere che la query di rollback non funziona qui in quanto mostra che "0 righe interessate".

>> rollback;

Puoi anche vedere anche il tavolo. La tabella non ha ricevuto modifiche dopo l'esecuzione dell'istruzione di rollback finora. Ciò significa che il rollback non funziona quando abbiamo automaticamente per impostazione predefinita.

>> Seleziona * dai dati.libro;

Esempio 02: Modalità Autocommit OFF:

Per ripristinare le modifiche apportate, proviamo con la modalità OFF AUTOCOMMIT. Usando lo stesso esempio del "libro" della tabella, eseguiremo alcune modifiche su di esso. Useremo la dichiarazione di transazione iniziale per disattivare la sua fase di commit automatico o semplicemente digitare il comando seguente per impostare l'autocommit.

>> set autocommit = 0;

Diciamo che abbiamo lo stesso "libro" del tavolo nel nostro database e dobbiamo apportare modifiche ad esso. Quindi ripristina di nuovo quelle modifiche ai vecchi.

>> Seleziona * dai dati.libro;

Se non hai disattivato la modalità Autocimit.

>> Avvia transazione;

Aggiorneremo la stessa tabella utilizzando il comando Aggiorna impostando l'autore "come" Ariana "in cui il" nome "di un libro è" Dream ". Fallo usando il comando seguente. Vedrai che le modifiche verranno apportate con successo ed efficace.

>> Aggiorna dati.Libro set auto = 'Ariana' dove name = 'Dream';

Controlliamo se la query sopra ha funzionato perfettamente e apportato modifiche al tavolo o no. È possibile controllare la tabella aggiornata utilizzando il comando Seleziona seguente come sempre.

>> Seleziona * dai dati.libro;

Puoi vedere che la query ha funzionato alla grande, come mostrato di seguito.

Ora, è una svolta del comando rollback per eseguire la sua funzione. Prova il comando rollback nella riga di comando per ripristinare il recente aggiornamento della tabella.

>> rollback;

Controlliamo se la query di rollback è stata lavorata in quanto dovrebbe funzionare o no. Per questo, devi controllare di nuovo il "libro" della tabella utilizzando il comando "seleziona" come sempre.

>> Seleziona * dai dati.libro;

Puoi vedere dall'output seguente che il rollback ha finalmente funzionato. Ha ripristinato le modifiche apportate dalla query di aggiornamento in questa tabella.

Conclusione:

Questo è tutto per le transazioni MySQL. Spero che questa guida ti aiuti a eseguire le transazioni MySQL comodamente.