Kod błędu MySQL 1175 podczas aktualizacji w MySQL

Kod Bledu Mysql 1175 Podczas Aktualizacji W Mysql



„Podczas pracy z bazami danych MySQL możesz napotkać „Kod błędu 1175” wyzwolony podczas wykonywania instrukcji UPDATE lub DELETE”.

W tym poście omówimy przyczynę tego błędu i sposób, w jaki możemy go rozwiązać za pomocą serwera MySQL.







Co powoduje „Kod błędu MySQL 1175”?

„Kod błędu MySQL 1175” występuje podczas wykonywania operacji UPDATE lub DELETE bez użycia klauzuli WHERE.



Domyślnie MySQL używa funkcji o nazwie safe_mode, która uniemożliwia wykonanie instrukcji UPDATE lub DELETE bez klauzuli WHERE. Zapobiega to przypadkowej utracie danych w miejscu docelowym.



Dlatego też, gdy funkcja safe_mode jest aktywowana, MySQL zwróci kod błędu 1175 przy każdej operacji DELETE lub UPDATE, która nie zawiera klauzuli WHERE.





Przykład jest pokazany poniżej:

aktualizacja sakila.film ustawić tytuł = „Nowy tytuł” ;



W tym przypadku próbujemy zmienić wartość kolumny tytułowej bez określania, do którego wiersza chcemy kierować reklamy. Może to spowodować nadpisanie całej tabeli podaną wartością. Dlatego MySQL zapobiegnie temu i zwróci błąd, jak pokazano:

MySQL Sprawdź, czy tryb_bezpieczny jest włączony

Stan funkcji safe_mode jest przechowywany w zmiennej sql_safe_updates. Dlatego możemy pobrać wartość tej zmiennej, aby określić, czy funkcja safe_mode jest włączona, czy nie.

Zapytanie wygląda tak, jak pokazano:

pokaż zmienne, takie jak „sql_safe_updates” ;

Zapytanie powinno zwrócić stan, jak pokazano:

+-------------------+-------+
| Nazwa zmiennej | Wartość |
+-------------------+-------+
| sql_safe_updates | NA |
+-------------------+-------+
1 wiersz w ustawić ( 0,00 sek )

W tym przypadku widzimy, że funkcja safe_mode jest włączona w sesji.

Jak rozwiązać „Kod błędu MySQL 1175”

Najlepszym sposobem rozwiązania tego typu błędu jest użycie klauzuli WHERE. Jednak w niektórych przypadkach może być konieczne wykonanie UPDATE lub DELETE bez żadnych warunków.

Aby to zrobić, możemy wyłączyć funkcję safe_mode w sesji, umożliwiając nam wykonanie zapytania. Następnie możemy użyć polecenia SET, a następnie nazwy zmiennej i wartości, którą chcemy ustawić.

Na przykład, aby wyłączyć safe_mode, ustawiamy wartość zmiennej sql_safe_updates na 0. Zapytanie wygląda tak:

USTAW SQL_SAFE_UPDATES = 0 ;

Aby ją włączyć, ustaw wartość na 1 jako:

USTAW SQL_SAFE_UPDATES = 1 ;

W MySQL Workbench możesz wyłączyć funkcję safe_mode, przechodząc do Edycja-> Preferencje -> Edytor SQL

Wyłączono funkcję „Bezpieczne aktualizacje” i ponownie uruchomiono sesję na serwerze.

Zakończenie

Poznałeś przyczynę „Kodu błędu MySQL 1175” w tym poście podczas wykonywania instrukcji UPDATE lub DELETE. Dowiedziałeś się również, jak rozwiązać ten błąd, wyłączając funkcję trybu bezpiecznego MySQL.