Utilizzo della modalità di aggiornamento sicuro MySQL

Utilizzo della modalità di aggiornamento sicuro MySQL
I dati della tabella del database MySQL potrebbero richiedere di aggiornare o eliminare in qualsiasi momento in base al requisito. Se l'aggiornamento o la query di eliminazione eseguono senza utilizzare la clausola Where, tutti i record della tabella verranno aggiornati o eliminati accidentalmente. Se la modalità di aggiornamento sicuro è abilitata, il codice di errore MySQL 1175 verrà generato se la query di aggiornamento o eliminazione viene eseguita senza utilizzare la clausola. Ma a volte richiede l'eliminazione di tutti i record di tabella o l'aggiornamento di tutti i valori di una colonna particolare di una tabella. Questo problema può essere risolto disabilitando la modalità di aggiornamento sicuro o eseguendo la query con una clausola che corrisponderà a tutte le righe della tabella. In questo tutorial è stato mostrato il modo di abilitare o disabilitare la modalità di aggiornamento sicuro per prevenire elimina o aggiornamenti accidentali.

Prerequisiti:

È necessario creare una tabella di database con i dati in un database MySQL per verificare l'uso della modalità di aggiornamento sicuro in MySQL.

Apri il terminale e connettiti con il server MySQL eseguendo il comando seguente.

$ sudo mysql -u root

Esegui il comando seguente per creare un database denominato test_db.

Crea database test_db;

Esegui il comando seguente per selezionare il database.

Usa test_db;

Esegui la seguente query per creare una tabella denominata clienti con cinque campi.

Clienti creativi (
Id Intnot Null Key Primary,
Nome varchar (30) non null,
Email Varchar (50),
Testo di indirizzo,
contact_no varchar (15));

Eseguire la seguente query di inserimento per inserire quattro record nel clienti tavolo.

Inserisci in "Clienti" ("id", "nome", "email", "indirizzo", "contact_no") valori
("4001", "Laboni Sarkar", "[email protected] ', '34, dhanmondi 9/a, dhaka.',' 01844767234 '),
('4002', 'Tahsin Ahmed', '[email protected] ',' 123/1, jigatola, dhaka.',' 015993487812 '),
('4003', 'Hasina Pervin', '[email protected] ',' 280, shantibagh, dhaka.', NULLO),
("4004", "Mehrab Ali", "[email protected] ', '78, Paltan, dhaka ...', '01727863459');

Controllo del valore corrente della modalità di aggiornamento sicuro:

IL sql_safe_updates La variabile viene utilizzata per abilitare o disabilitare la modalità di aggiornamento sicuro di MySQL. La modalità di aggiornamento sicuro è disabilitata per impostazione predefinita. Eseguire il seguente comando dal prompt MySQL per verificare il valore corrente del sql_safe_updates variabile.

Mostra variabili come "sql_safe_updates";

Il seguente output mostra che la modalità di aggiornamento sicuro è disabilitata.

Eseguire il comando di aggiornamento ed elimina dopo aver abilitato la modalità di aggiornamento sicuro:

Eseguire i seguenti comandi per abilitare la modalità di aggiornamento sicuro e controllare il valore del sql_safe_updates variabile.

Imposta sql_safe_updates = 1;
Mostra variabili come "sql_safe_updates";

Il seguente output mostra che la modalità di aggiornamento sicuro è abilitata ora.

Eseguire la query di aggiornamento:

Esegui il comando di aggiornamento senza la clausola Where per verificare che la modalità di aggiornamento sicuro funziona o meno per l'operazione di aggiornamento. Se la modalità di aggiornamento sicuro è abilitata, l'errore 1175 verrà generato per la query di aggiornamento.

AGGIORNAMENTO IL SET CONTATTA_NO = '02 -458934679 ';

Il seguente output mostra un errore generato per la query di aggiornamento senza la cui clausola e non è stata eseguita alcuna operazione di aggiornamento.

Supponiamo che la query di aggiornamento sopra verrà eseguita da qualsiasi interfaccia utente grafica come PhpMyAdmin in cui la modalità di aggiornamento sicuro è disabilitata per impostazione predefinita. In tal caso, l'operazione di aggiornamento verrà eseguita in base all'autorizzazione dell'utente. Se l'utente dà il permesso, allora il contact_no campo di tutti i record del clienti La tabella verrà aggiornata; Altrimenti, nulla sarà fatto.

Esegui Elimina query:

Esegui il comando Elimina senza la clausola dove verificare la modalità di aggiornamento sicuro o meno per l'operazione di eliminazione. Se la modalità di aggiornamento sicuro è abilitata, l'errore 1175 verrà generato per la query di eliminazione come la query di aggiornamento.

Elimina dai clienti;

Il seguente output mostra un errore generato per la query di eliminazione senza la clausola dove e non è stata eseguita alcuna operazione di eliminazione.

Supponiamo che la query di eliminazione sopra verrà eseguita da qualsiasi interfaccia utente grafica come PhpMyAdmin in cui la modalità di aggiornamento sicuro è disabilitata per impostazione predefinita. In tal caso, l'operazione di eliminazione verrà eseguita in base all'autorizzazione dell'utente, come la query di aggiornamento. Se l'utente dà l'autorizzazione, tutti i record del clienti La tabella verrà eliminata; Altrimenti, nulla sarà fatto.

Esegui il comando di aggiornamento ed elimina dopo aver disabilitato la modalità di aggiornamento sicuro:

Eseguire i seguenti comandi per disabilitare la modalità di aggiornamento sicuro e controllare il valore del sql_safe_updates variabile.

Imposta sql_safe_updates = 0;
Mostra variabili come "sql_safe_updates";

Il seguente output mostra che la modalità di aggiornamento sicuro è ora disabilitata.

Come il comando di aggiornamento precedente, eseguire il seguente comando di aggiornamento senza la clausola per verificare l'operazione di aggiornamento funziona o meno dopo aver disabilitato la modalità di aggiornamento sicuro.

Aggiorna i clienti imposta l'indirizzo = 'dhaka';

Il seguente output mostra che l'operazione di aggiornamento è stata completata senza alcun errore e quattro righe del clienti La tabella è stata colpita.

Esegui le seguenti query Seleziona per verificare il contenuto corrente del clienti tavolo.

Seleziona * dai clienti;

Il seguente output mostra che il valore della stringa ha aggiornato tutti i valori del campo di indirizzo, "Dhaka '.

Come il precedente comando ELETE, eseguire il seguente comando Elimina senza la clausola per verificare l'operazione Elimina funziona o meno dopo aver disabilitato la modalità di aggiornamento sicuro.

Elimina dai clienti;

Il seguente output mostra che l'operazione di eliminazione è stata completata senza errore.

Esegui le seguenti query Seleziona per verificare il contenuto corrente del clienti tavolo.

Seleziona * dai clienti;

Il seguente output mostra che tutti i record del clienti La tabella è stata eliminata.

Conclusione:

La modalità di aggiornamento sicuro di MySQL è una caratteristica essenziale per prevenire aggiornamenti indesiderati o eliminare le operazioni per errore. In questo tutorial è stato mostrato il modo di abilitare e disabilitare questa modalità impostando la variabile richiesta. Come sono stati mostrati anche le operazioni di aggiornamento ed eliminare senza il lavoro della clausola in base alla modalità di aggiornamento sicuro utilizzando una tabella.