Bruk av MySQL Safe Update Mode

Bruk av MySQL Safe Update Mode
Tabelldata for MySQL -databasen kan kreve å oppdatere eller slette når som helst basert på kravet. Hvis oppdateringen eller sletter spørringen utføres uten å bruke hvor leddet, vil alle tabellposter bli oppdatert eller slettet ved et uhell. Hvis sikker oppdateringsmodus er aktivert, vil MySQL -feilkoden 1175 bli generert hvis oppdateringen eller slettespørsmålet blir utført uten å bruke WHERE -leddet. Men noen ganger krever det å slette alle tabellposter eller oppdatere alle verdier i en bestemt kolonne i en tabell. Dette problemet kan løses ved å deaktivere sikker oppdateringsmodus eller utføre spørringen med en klausul som vil samsvare med alle tabellrader. Måten å aktivere eller deaktivere sikker oppdateringsmodus for å forhindre utilsiktet sletting eller oppdatering er vist i denne opplæringen.

Forutsetninger:

Du må opprette en databasetabell med dataene i en MySQL -database for å sjekke bruken av sikker oppdateringsmodus i MySQL.

Åpne terminalen og koble til MySQL -serveren ved å utføre følgende kommando.

$ sudo mysql -u root

Kjør følgende kommando for å opprette en database som heter test_db.

Opprette databasetest_db;

Kjør følgende kommando for å velge databasen.

Bruk test_db;

Kjør følgende spørsmål for å opprette en tabell som heter Kunder med fem felt.

Skaperbare kunder (
id intnot null primærnøkkel,
Navn varchar (30) ikke null,
E -post varchar (50),
Adresse tekst,
Kontakt_no varchar (15));

Kjør følgende sett inn spørring for å sette inn fire poster i Kunder bord.

Sett inn 'kunder' ('id', 'navn', 'e -post', 'adresse', 'contact_no') verdier
('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.', NULL),
('4004', 'Mehrab Ali', '[email protected] ', '78, Paltan, Dhaka ...', '01727863459');

Kontroller gjeldende verdi av sikker oppdateringsmodus:

De SQL_SAFE_UPDATES Variabel brukes til å aktivere eller deaktivere sikker oppdateringsmodus for MySQL. Safe Update Mode er deaktivert som standard. Kjør følgende kommando fra MySQL -ledeteksten for å sjekke gjeldende verdi av SQL_SAFE_UPDATES variabel.

Vis variabler som "sql_safe_updates";

Følgende utdata viser at sikker oppdateringsmodus er deaktivert.

Utfør oppdatering og slett kommando etter å ha aktivert sikker oppdateringsmodus:

Kjør følgende kommandoer for å aktivere sikker oppdateringsmodus og sjekke verdien av SQL_SAFE_UPDATES variabel.

Sett SQL_SAFE_UPDATES = 1;
Vis variabler som "sql_safe_updates";

Følgende utdata viser at sikker oppdateringsmodus er aktivert nå.

Utfør oppdateringsspørsmål:

Kjør oppdateringskommandoen uten hvor leddet for å sjekke sikker oppdateringsmodus fungerer eller ikke for oppdateringsoperasjonen. Hvis sikker oppdateringsmodus er aktivert, vil feilen 1175 bli generert for oppdateringsspørsmålet.

Oppdater kunder angi kontakt_no = '02 -458934679 ';

Følgende utdata viser en feil som genereres for oppdateringsspørsmålet uten hvor leddet, og ingen oppdateringsoperasjoner er utført.

Anta at ovennevnte oppdateringsspørsmål vil bli utført fra ethvert grafisk brukergrensesnitt som phpmyAdmin der sikker oppdateringsmodus er deaktivert som standard. I så fall vil oppdateringsoperasjonen bli utført basert på brukerens tillatelse. Hvis brukeren gir tillatelse, så kontakten_no felt av alle poster av Kunder Tabellen vil bli oppdatert; Ellers vil ingenting bli gjort.

Utfør slett spørring:

Kjør slett -kommandoen uten hvor leddet for å sjekke sikker oppdateringsmodus fungerer eller ikke for slettoperasjonen. Hvis sikker oppdateringsmodus er aktivert, vil feilen 1175 bli generert for Delete -spørringen som oppdateringsspørsmålet.

Slett fra kunder;

Følgende utdata viser en feil som genereres for slettespørsmålet uten hvor leddet, og det er ikke gjort noen slettedrift.

Anta at ovennevnte Delete -spørring vil bli utført fra ethvert grafisk brukergrensesnitt som phpmyAdmin der sikker oppdateringsmodus er deaktivert som standard. I så fall vil slettoperasjonen bli utført basert på brukerens tillatelse, som oppdateringsspørsmålet. Hvis brukeren gir tillatelse, så er alle poster av Kunder Tabellen vil bli slettet; Ellers vil ingenting bli gjort.

Utfør oppdatering og slett kommando etter å ha deaktivert sikker oppdateringsmodus:

Kjør følgende kommandoer for å deaktivere sikker oppdateringsmodus og sjekke verdien av SQL_SAFE_UPDATES variabel.

Sett SQL_SAFE_UPDATES = 0;
Vis variabler som "sql_safe_updates";

Følgende utdata viser at sikker oppdateringsmodus er deaktivert nå.

Som forrige oppdateringskommando, kjør følgende oppdateringskommando uten hvor leddet for å sjekke oppdateringsoperasjonen fungerer eller ikke etter å ha deaktivert sikker oppdateringsmodus.

Oppdater kunder angir adresse = 'dhaka';

Følgende utdata viser at oppdateringsoperasjonen er fullført uten feil, og fire rader av Kunder Tabellen er påvirket.

Kjør følgende velg spørring for å sjekke gjeldende innhold i Kunder bord.

Velg * fra kunder;

Følgende utgang viser at strengverdien har oppdatert alle adressefeltverdier, 'Dhaka '.

Som forrige Delete -kommando, kjør følgende Delete -kommando uten hvor leddet for å sjekke Delete Operation Works eller ikke etter å ha deaktivert sikker oppdateringsmodus.

Slett fra kunder;

Følgende utgang viser at slettoperasjonen er fullført uten feil.

Kjør følgende velg spørring for å sjekke gjeldende innhold i Kunder bord.

Velg * fra kunder;

Følgende utgang viser at alle poster av Kunder Tabellen er slettet.

Konklusjon:

Safe Update -modus for MySQL er en viktig funksjon for å forhindre uønskede oppdateringer eller slette operasjoner ved en feiltakelse. Måten å aktivere og deaktivere denne modusen ved å angi den nødvendige variabelen er vist i denne opplæringen. Hvordan oppdaterings- og sletting av operasjoner uten hvor klausularbeidet basert på sikker oppdateringsmodus også har blitt vist her ved å bruke en tabell.