'Miközben MySQL adatbázisokkal dolgozik, előfordulhat, hogy az '1175-ös hibakód' UPDATE vagy DELETE utasítások végrehajtása során vált ki.'
Ez a bejegyzés megvitatja a hiba okát és azt, hogyan tudjuk megoldani a MySQL-kiszolgáló használatával.
Mi okozza a „MySQL 1175-ös hibakódot”?
A „MySQL 1175-ös hibakód” akkor fordul elő, ha UPDATE vagy DELETE műveletet hajtanak végre a WHERE záradék használata nélkül.
Alapértelmezés szerint a MySQL a safe_mode nevű szolgáltatást használja, amely megakadályozza, hogy UPDATE vagy DELETE utasításokat hajtson végre WHERE záradék nélkül. Ez megakadályozza a véletlen adatvesztést a célponton.
Ezért a safe_mode funkció aktiválásakor a MySQL az 1175-ös hibakódot adja vissza minden olyan DELETE vagy UPDATE műveletnél, amely nem tartalmaz WHERE záradékot.
Az alábbiakban egy példa látható:
frissítés sakila.film készlet cím = 'Új cím' ;Ebben az esetben megpróbáljuk megváltoztatni a cím oszlop értékét anélkül, hogy megadnánk, melyik sort szeretnénk megcélozni. Ez azt eredményezheti, hogy a teljes táblát felülírjuk a megadott értékkel. Ezért a MySQL megakadályozza ezt, és a képen látható hibát ad vissza:
MySQL Ellenőrizze, hogy a Safe_Mode engedélyezve van-e
A safe_mode szolgáltatás állapotát az sql_safe_updates változó tárolja. Ezért lekérhetjük ennek a változónak az értékét annak meghatározására, hogy a safe_mode funkció engedélyezve van-e vagy sem.
A lekérdezés a képen látható:
változók megjelenítése, mint 'sql_safe_updates' ;A lekérdezésnek az alábbi állapotot kell visszaadnia:
+------------------+-------+| Változó_neve | Érték |
+------------------+-------+
| sql_safe_updates | TOVÁBB |
+------------------+-------+
1 sor ban ben készlet ( 0,00 mp )
Ebben az esetben láthatjuk, hogy a safe_mode funkció engedélyezve van a munkamenetben.
A „MySQL Error Code 1175” megoldása
Az ilyen típusú hibák megoldásának legjobb módja a WHERE záradék használata. Bizonyos esetekben azonban előfordulhat, hogy feltétel nélkül kell végrehajtanunk az UPDATE vagy DELETE műveletet.
Ehhez a munkamenetben letilthatjuk a safe_mode funkciót, lehetővé téve a lekérdezés végrehajtását. Ezután használhatjuk a SET parancsot, majd a változó nevét és a beállítani kívánt értéket.
Például a safe_mode letiltásához az sql_safe_updates változó értékét 0-ra állítjuk. A lekérdezés a következő:
SET SQL_SAFE_UPDATES = 0 ;Az engedélyezéséhez állítsa az értéket 1-re a következőképpen:
SET SQL_SAFE_UPDATES = 1 ;A MySQL Workbenchben letilthatja a safe_mode funkciót a Szerkesztés-> Beállítások -> SQL-szerkesztő menüben.
Letiltotta a „Biztonságos frissítések” funkciót, és újraindította a munkamenetet a szerveren.
Felmondás
Ebben a bejegyzésben megtudta a „MySQL Error Code 1175” okát az UPDATE vagy DELETE utasítások végrehajtásakor. Azt is megtanulta, hogyan lehet megoldani a hibát a MySQL safe_mode funkciójának letiltásával.