MySQL MariaDB

Transazioni MySQL

Transazioni MySQL
Una transazione è una raccolta simultanea di funzioni per la manipolazione di set di dati e viene eseguita come se fosse un'unica entità di lavoro. In altri termini, una transazione non può mai essere realizzata finché ogni particolare processo non ha successo all'interno dell'unità. L'intero processo crollerà se qualsiasi transazione all'interno del processo si arresta in modo anomalo. Diverse query SQL sono raggruppate in un'unità e tutte verranno eseguite insieme come parte della sua transazione. Ogni volta che una transazione incorpora diversi aggiornamenti a un database e la transazione viene confermata, tutte le modifiche funzionano o tutti gli aggiornamenti vengono annullati ogni volta che viene eseguito il rollback dell'operazione.

Proprietà della transazione

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

Transazioni MySQL funzionanti:

All'interno di MySQL, i due termini Commit e Rollback vengono utilizzati principalmente solo per le transazioni MySQL. Le transazioni iniziano solo con la dichiarazione BEGIN WORK e terminano con una dichiarazione COMMIT o una dichiarazione ROLLBACK. Le istruzioni SQL comprendono la maggior parte della transazione sia tra le istruzioni di avvio che di arresto. Tali serie di eventi sono indipendenti dallo specifico linguaggio di programmazione utilizzato. Creerai un percorso adatto in qualsiasi lingua tu stia usando per costruire l'applicazione. Le seguenti istruzioni SQL possono essere implementate utilizzando la funzione mysql query().

Esempio 01: modalità AutoCommit attivata:

MySQL opera con la fase Autocommit consentita per impostazione predefinita. Assicura che MySQL salvi le modifiche sul disco per crearlo perennemente finché eseguiamo una query che regola (altera) una tabella. Non è necessario tornare indietro la mossa. Proviamo con AUTOCOMMIT in modalità. Apri la shell della riga di comando MySQL e digita la password per iniziare.

Prendi un esempio di una tabella 'libro' che è stata creata in un database 'dati'. Al momento, non abbiamo ancora eseguito alcuna query su di esso.

>> SELEZIONA * DAI dati.libro;

Passo 2: Questo processo serve per aggiornare la tabella "libro". Aggiorniamo il valore della colonna "Autore" dove il "Nome" di un libro è "Casa". Puoi vedere che le modifiche sono state apportate con successo.

>> AGGIORNAMENTO dati.book SET Author = 'Cristian Steward' WHERE Name = 'Casa';

Dando un'occhiata alla tabella aggiornata, abbiamo un valore modificato dell'autore dove 'nome' è 'Home'.

>> SELEZIONA * DAI dati.libro;

Usiamo il comando ROLLBACK per annullare le modifiche semplicemente aggiungendo la query seguente. Puoi vedere che la query ROLLBACK non funziona qui in quanto mostra che "0 righe interessate".

>> RITORNO;

Puoi anche vedere anche la tabella. La tabella non ha subito modifiche dopo l'esecuzione dell'istruzione ROLLBACK finora. Ciò significa che il ROLLBACK non funziona quando abbiamo AUTOCOMMIT attivo per impostazione predefinita.

>> SELEZIONA * DAI dati.libro;

Esempio 02: modalità AutoCommit disattivata:

Per annullare le modifiche effettuate, proviamo con la modalità AUTOCOMMIT off. Utilizzando lo stesso esempio di tabella 'libro', eseguiremo alcune modifiche su di essa. Utilizzeremo la dichiarazione START TRANSACTION per disattivare la sua fase di autocommit o semplicemente digiteremo il comando seguente per disattivare AUTOCOMMIT.

>> IMPOSTA AUTOCOMMIT = 0;

Diciamo che abbiamo la stessa tabella "libro" nel nostro database e dobbiamo apportare modifiche ad essa. Quindi ripristina di nuovo quelle modifiche a quelle precedenti.

>> SELEZIONA * DAI dati.libro;

Se non hai disattivato la modalità AUTOCOMMIT, inizia con una query START TRANSACTION nella shell della riga di comando come di seguito.

>> INIZIA TRANSAZIONE;

Aggiorneremo la stessa tabella utilizzando il comando UPDATE impostando "Autore" come "Aliana" dove il "Nome" di un libro è "Sogno". Fallo usando il comando seguente. Vedrai che le modifiche verranno apportate con successo ed efficacia.

>> AGGIORNAMENTO dati.book SET Autho = 'Aliana' WHERE Name = 'Sogno';

Controlliamo se la query sopra ha funzionato perfettamente e ha apportato modifiche alla tabella o meno. Puoi controllare la tabella aggiornata usando il comando SELECT sottostante come sempre.

>> SELEZIONA * DAI dati.libro;

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

Ora tocca al comando ROLLBACK eseguire la sua funzione. Prova il comando ROLLBACK nella riga di comando per ripristinare l'aggiornamento recente alla tabella.

>> RITORNO;

Controlliamo se la query ROLLBACK è stata eseguita come dovrebbe funzionare o meno. Per questo, devi controllare di nuovo la tabella "libro" usando il comando "SELEZIONA" come sempre.

>> SELEZIONA * DAI dati.libro;

Puoi vedere dall'output qui sotto che ROLLBACK ha finalmente funzionato. Ha ripristinato le modifiche apportate dalla query UPDATE su questa tabella.

Conclusione:

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

Porte open source di motori di gioco commerciali
Ricreazioni del motore di gioco gratuite, open source e multipiattaforma possono essere utilizzate per riprodurre titoli di giochi vecchi e abbastanza...
I migliori giochi da riga di comando per Linux
La riga di comando non è solo il tuo più grande alleato quando usi Linux, ma può anche essere una fonte di intrattenimento perché puoi usarla per gioc...
Le migliori app di mappatura del gamepad per Linux
Se ti piace giocare su Linux con un gamepad invece di un tipico sistema di input di tastiera e mouse, ci sono alcune app utili per te. Molti giochi pe...