Koda napake MySQL 1175 Med POSODOBITEV v MySQL

Koda Napake Mysql 1175 Med Posodobitev V Mysql



'Pri delu z bazami podatkov MySQL lahko naletite na 'kodo napake 1175', ki se sproži pri izvajanju navodil UPDATE ali DELETE.'

Ta objava bo obravnavala vzrok te napake in kako jo lahko odpravimo s strežnikom MySQL.







Kaj povzroča »kodo napake MySQL 1175«?

»Koda napake MySQL 1175« se pojavi pri izvajanju operacije UPDATE ali DELETE brez uporabe stavka WHERE.



MySQL privzeto uporablja funkcijo, imenovano safe_mode, ki vam preprečuje izvajanje stavka UPDATE ali DELETE brez stavka WHERE. To prepreči kakršno koli nenamerno izgubo podatkov na cilju.



Zato bo MySQL, ko je funkcija safe_mode aktivirana, vrnil kodo napake 1175 za katero koli operacijo DELETE ali UPDATE, ki ne vključuje klavzule WHERE.





Spodaj je prikazan primer:

posodobi sakila.film set naslov = 'Nov naslov' ;



V tem primeru poskušamo spremeniti vrednost naslovnega stolpca, ne da bi določili, na katero vrstico želimo ciljati. To lahko povzroči, da celotno tabelo prepišemo s podano vrednostjo. Zato bo MySQL to preprečil in vrnil napako, kot je prikazano:

MySQL Preverite, ali je Safe_Mode omogočen

Stanje funkcije safe_mode je shranjeno v spremenljivki sql_safe_updates. Zato lahko pridobimo vrednost te spremenljivke, da ugotovimo, ali je funkcija safe_mode omogočena ali ne.

Poizvedba je prikazana:

pokaži spremenljivke, kot je 'sql_safe_updates' ;

Poizvedba mora vrniti prikazano stanje:

+------------------+-------+
| Ime_spremenljivke | Vrednost |
+------------------+-------+
| sql_safe_updates | VKLOP |
+------------------+-------+
1 vrstica v set ( 0,00 sek )

V tem primeru lahko vidimo, da je v seji omogočena funkcija safe_mode.

Kako razrešiti »MySQL Error Code 1175«

Najboljši način za razrešitev te vrste napake je uporaba stavka WHERE. Vendar pa bomo v nekaterih primerih morda morali izvesti POSODOBITEV ali IZBRIS brez kakršnih koli pogojev.

Če želite to narediti, lahko onemogočimo funkcijo safe_mode v seji, kar nam omogoči izvedbo poizvedbe. Nato lahko uporabimo ukaz SET, ki mu sledi ime spremenljivke in vrednost, ki jo želimo nastaviti.

Na primer, da onemogočimo safe_mode, nastavimo vrednost spremenljivke sql_safe_updates na 0. Poizvedba je, kot je prikazano:

SET SQL_SAFE_UPDATES = 0 ;

Če ga želite omogočiti, nastavite vrednost na 1 kot:

SET SQL_SAFE_UPDATES = 1 ;

V MySQL Workbench lahko onemogočite funkcijo safe_mode tako, da se pomaknete na Edit-> Preferences -> SQL Editor

Onemogočili ste funkcijo »Varne posodobitve« in znova zagnali sejo na strežniku.

Prekinitev

V tej objavi ste izvedeli vzrok za »kodo napake MySQL 1175« pri izvajanju stavkov UPDATE ali DELETE. Naučili ste se tudi, kako odpraviti napako tako, da onemogočite funkcijo MySQL safe_mode.