MySQL-feilkode 1175 under OPPDATERING i MySQL

Mysql Feilkode 1175 Under Oppdatering I Mysql



'Når du arbeider med MySQL-databaser, kan du støte på 'Feilkode 1175' som utløses når du utfører en OPPDATERING eller SLETT-instruks.'

Dette innlegget vil diskutere årsaken til denne feilen og hvordan vi kan løse den ved å bruke MySQL-serveren.







Hva forårsaker 'MySQL-feilkode 1175'?

'MySQL Error Code 1175' oppstår når du utfører en UPDATE- eller DELETE-operasjon uten å bruke WHERE-klausulen.



Som standard bruker MySQL en funksjon kalt safe_mode som hindrer deg i å utføre en UPDATE- eller DELETE-setning uten en WHERE-klausul. Dette forhindrer utilsiktet tap av data på målet.



Derfor, når safe_mode-funksjonen er aktivert, vil MySQL returnere feilkoden 1175 på enhver DELETE- eller UPDATE-operasjon som ikke inkluderer en WHERE-klausul.





Et eksempel er vist nedenfor:

oppdater sakila.film sett tittel = 'Ny tittel' ;



I dette tilfellet prøver vi å endre verdien av tittelkolonnen uten å spesifisere hvilken rad vi ønsker å målrette mot. Dette kan resultere i at vi overskriver hele tabellen med den angitte verdien. Derfor vil MySQL forhindre dette og returnere en feil som vist:

MySQL Sjekk om Safe_Mode er aktivert

Tilstanden til safe_mode-funksjonen er lagret i sql_safe_updates-variabelen. Derfor kan vi hente verdien av denne variabelen for å finne ut om safe_mode-funksjonen er aktivert eller ikke.

Spørsmålet er som vist:

vis variabler som 'sql_safe_updates' ;

Spørringen skal returnere tilstanden som vist:

+------------------------+-------+
| Variable_name | Verdi |
+------------------------+-------+
| sql_safe_updates | |
+------------------------+-------+
1 rad i sett ( 0,00 sek )

I dette tilfellet kan vi se at safe_mode-funksjonen er aktivert på økten.

Slik løser du 'MySQL-feilkode 1175'

Den beste måten å løse denne typen feil på er å bruke en WHERE-klausul. I noen tilfeller kan det imidlertid hende vi må utføre en OPPDATERING eller SLETT uten noen betingelse.

For å gjøre dette kan vi deaktivere safe_mode-funksjonen i økten, slik at vi kan utføre spørringen. Deretter kan vi bruke SET-kommandoen etterfulgt av variabelnavnet og verdien vi ønsker å angi.

For å deaktivere safe_mode, setter vi for eksempel verdien av sql_safe_updates-variabelen til 0. Spørringen er som vist:

SET SQL_SAFE_UPDATES = 0 ;

For å aktivere det, sett verdien til 1 som:

SET SQL_SAFE_UPDATES = 1 ;

I MySQL Workbench kan du deaktivere safe_mode-funksjonen ved å navigere til Rediger-> Innstillinger -> SQL Editor

Deaktiverte «Sikkere oppdateringer»-funksjonen og startet økten på nytt til serveren.

Avslutning

Du lærte årsaken til 'MySQL Error Code 1175' i dette innlegget når du utførte UPDATE- eller DELETE-setninger. Du har også lært hvordan du løser feilen ved å deaktivere MySQL safe_mode-funksjonen.