Chybový kód MySQL 1175 během UPDATE v MySQL

Chybovy Kod Mysql 1175 Behem Update V Mysql



'Při práci s databázemi MySQL se můžete setkat s kódem chyby 1175, který se spustí při provádění instrukcí UPDATE nebo DELETE.'

Tento příspěvek pojednává o příčině této chyby a o tom, jak ji můžeme vyřešit pomocí serveru MySQL.







Co způsobuje „chybový kód MySQL 1175“?

„MySQL Error Code 1175“ se objeví při provádění operace UPDATE nebo DELETE bez použití klauzule WHERE.



Ve výchozím nastavení používá MySQL funkci zvanou safe_mode, která vám brání ve spuštění příkazu UPDATE nebo DELETE bez klauzule WHERE. Tím se zabrání náhodné ztrátě dat na cíli.



Proto, když je aktivována funkce safe_mode, MySQL vrátí kód chyby 1175 při jakékoli operaci DELETE nebo UPDATE, která neobsahuje klauzuli WHERE.





Příklad je uveden níže:

aktualizovat sakila.film soubor titul = 'Nový název' ;



V tomto případě se pokoušíme změnit hodnotu sloupce nadpisu, aniž bychom specifikovali, na který řádek chceme cílit. To může mít za následek přepsání celé tabulky zadanou hodnotou. MySQL tomu tedy zabrání a vrátí chybu, jak je uvedeno:

MySQL Zkontrolujte, zda je povolen Safe_Mode

Stav funkce safe_mode je uložen v proměnné sql_safe_updates. Můžeme tedy načíst hodnotu této proměnné a určit, zda je funkce safe_mode povolena nebo ne.

Dotaz vypadá takto:

zobrazit proměnné jako 'sql_safe_updates' ;

Dotaz by měl vrátit stav, jak je znázorněno:

+------------------+-------+
| Název_proměnné | Hodnota |
+------------------+-------+
| sql_safe_updates | NA |
+------------------+-------+
1 řádek v soubor ( 0,00 sek )

V tomto případě vidíme, že funkce safe_mode je v relaci povolena.

Jak vyřešit „MySQL Error Code 1175“

Nejlepším způsobem, jak vyřešit tento typ chyby, je použití klauzule WHERE. V některých případech však může být nutné provést AKTUALIZACI nebo DELETE bez jakýchkoli podmínek.

Za tímto účelem můžeme v relaci zakázat funkci safe_mode, což nám umožní provést dotaz. Poté můžeme použít příkaz SET následovaný názvem proměnné a hodnotou, kterou chceme nastavit.

Chcete-li například zakázat safe_mode, nastavíme hodnotu proměnné sql_safe_updates na 0. Dotaz vypadá takto:

SET SQL_SAFE_UPDATES = 0 ;

Chcete-li to povolit, nastavte hodnotu na 1 jako:

SET SQL_SAFE_UPDATES = 1 ;

V MySQL Workbench můžete zakázat funkci safe_mode přechodem na Upravit-> Předvolby -> SQL Editor

Zakázali jste funkci „Bezpečné aktualizace“ a restartovali relaci na server.

Ukončení

Příčinu „chybového kódu MySQL 1175“ jste se dozvěděli v tomto příspěvku při provádění příkazů UPDATE nebo DELETE. Také jste se naučili, jak vyřešit chybu vypnutím funkce bezpečného režimu MySQL.