Код на грешка в MySQL 1175 по време на АКТУАЛИЗАЦИЯ в MySQL

Kod Na Greska V Mysql 1175 Po Vreme Na Aktualizacia V Mysql



„Когато работите с MySQL бази данни, може да срещнете „Код на грешка 1175“, задействан при изпълнение на инструкции за АКТУАЛИЗИРАНЕ или ИЗТРИВАНЕ.“

Тази публикация ще обсъди причината за тази грешка и как можем да я разрешим с помощта на MySQL сървъра.







Какво причинява „MySQL код за грешка 1175“?

„Кодът за грешка на MySQL 1175“ възниква при извършване на операция UPDATE или DELETE без използване на клаузата WHERE.



По подразбиране MySQL използва функция, наречена safe_mode, която ви пречи да изпълните оператор UPDATE или DELETE без клауза WHERE. Това предотвратява случайна загуба на данни на целта.



Следователно, когато функцията safe_mode е активирана, MySQL ще върне кода за грешка 1175 при всяка операция DELETE или UPDATE, която не включва клауза WHERE.





По-долу е показан пример:

актуализиране на sakila.film комплект заглавие = „Ново заглавие“ ;



В този случай ние се опитваме да променим стойността на заглавната колона, без да посочваме кой ред искаме да насочим. Това може да доведе до презаписване на цялата таблица с указаната стойност. Следователно MySQL ще предотврати това и ще върне грешка, както е показано:

MySQL Проверете дали Safe_Mode е активиран

Състоянието на функцията safe_mode се съхранява в променливата sql_safe_updates. Следователно можем да извлечем стойността на тази променлива, за да определим дали функцията safe_mode е активирана или не.

Заявката е както е показано:

показват променливи като 'sql_safe_updates' ;

Заявката трябва да върне състоянието, както е показано:

+-----------------+-------+
| Име_на_променлива | Стойност |
+-----------------+-------+
| sql_safe_updates | НА |
+-----------------+-------+
1 ред в комплект ( 0,00 сек )

В този случай можем да видим, че функцията safe_mode е активирана в сесията.

Как да разрешите „MySQL код на грешка 1175“

Най-добрият начин за разрешаване на този тип грешка е използването на клауза WHERE. В някои случаи обаче може да се наложи да извършим АКТУАЛИЗИРАНЕ или ИЗТРИВАНЕ без никакви условия.

За да направим това, можем да деактивираме функцията safe_mode в сесията, което ни позволява да изпълним заявката. След това можем да използваме командата SET, последвана от името на променливата и стойността, която искаме да зададем.

Например, за да деактивираме safe_mode, задаваме стойността на променливата sql_safe_updates на 0. Заявката е както е показано:

SET SQL_SAFE_UPDATES = 0 ;

За да го активирате, задайте стойност на 1 като:

SET SQL_SAFE_UPDATES = 1 ;

В MySQL Workbench можете да деактивирате функцията safe_mode, като отидете на Edit-> Preferences -> SQL Editor

Деактивира функцията „Безопасно актуализиране“ и рестартира сесията ви към сървъра.

Прекратяване на договора

Научихте причината за „MySQL код за грешка 1175“ в тази публикация при изпълнение на оператори UPDATE или DELETE. Освен това научихте как да разрешите грешката, като деактивирате функцията MySQL safe_mode.