Chybový kód MySQL 1175 počas AKTUALIZÁCIE v MySQL

Chybovy Kod Mysql 1175 Pocas Aktualizacie V Mysql



„Pri práci s databázami MySQL sa môžete stretnúť s „Kódom chyby 1175“, ktorý sa spustí pri vykonávaní pokynov UPDATE alebo DELETE.

Tento príspevok bude diskutovať o príčine tejto chyby a o tom, ako ju môžeme vyriešiť pomocou servera MySQL.







Čo spôsobuje „chybový kód MySQL 1175“?

„MySQL Error Code 1175“ sa vyskytuje pri vykonávaní operácie UPDATE alebo DELETE bez použitia klauzuly WHERE.



MySQL štandardne používa funkciu s názvom safe_mode, ktorá vám bráni vykonať príkaz UPDATE alebo DELETE bez klauzuly WHERE. Tým sa zabráni náhodnej strate údajov na cieli.



Preto, keď je aktivovaná funkcia safe_mode, MySQL vráti kód chyby 1175 pri akejkoľvek operácii DELETE alebo UPDATE, ktorá neobsahuje klauzulu WHERE.





Príklad je uvedený nižšie:

aktualizovať sakila.film nastaviť titul = 'Nový názov' ;



V tomto prípade sa pokúšame zmeniť hodnotu stĺpca nadpisu bez určenia, na ktorý riadok chceme zacieliť. To môže viesť k tomu, že prepíšeme celú tabuľku zadanou hodnotou. Preto tomu MySQL zabráni a vráti chybu, ako je znázornené:

MySQL Skontrolujte, či je povolený Safe_Mode

Stav funkcie safe_mode je uložený v premennej sql_safe_updates. Preto môžeme načítať hodnotu tejto premennej a určiť, či je funkcia safe_mode povolená alebo nie.

Dopyt vyzerá takto:

zobraziť premenné ako 'sql_safe_updates' ;

Dotaz by mal vrátiť stav, ako je znázornené:

+------------------+-------+
| Názov_premennej | Hodnota |
+------------------+-------+
| sql_safe_updates | ON |
+------------------+-------+
1 riadok v nastaviť ( 0,00 sek )

V tomto prípade vidíme, že funkcia safe_mode je v relácii povolená.

Ako vyriešiť „MySQL Error Code 1175“

Najlepší spôsob, ako vyriešiť tento typ chyby, je použiť klauzulu WHERE. V niektorých prípadoch však možno budeme musieť vykonať AKTUALIZÁCIU alebo VYMAZANIE bez akýchkoľvek podmienok.

Aby sme to dosiahli, môžeme v relácii zakázať funkciu safe_mode, čo nám umožní vykonať dotaz. Potom môžeme použiť príkaz SET, za ktorým nasleduje názov premennej a hodnota, ktorú chceme nastaviť.

Napríklad, aby sme zakázali safe_mode, nastavíme hodnotu premennej sql_safe_updates na 0. Dopyt vyzerá takto:

SET SQL_SAFE_UPDATES = 0 ;

Ak to chcete povoliť, nastavte hodnotu na 1 ako:

SET SQL_SAFE_UPDATES = 1 ;

V MySQL Workbench môžete vypnúť funkciu safe_mode tak, že prejdete na Upraviť-> Predvoľby -> SQL Editor

Vypnite funkciu „Bezpečné aktualizácie“ a reštartujte svoju reláciu na server.

Ukončenie

Príčinu „chybového kódu MySQL 1175“ ste sa dozvedeli v tomto príspevku pri vykonávaní príkazov UPDATE alebo DELETE. Tiež ste sa naučili, ako vyriešiť chybu zakázaním funkcie bezpečného režimu MySQL.