'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 | PÅ |
+------------------------+-------+
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.