'MySQL-i andmebaasidega töötades võite UPDATE või DELETE juhiste täitmisel käivituda veakoodiga 1175.'
See postitus käsitleb selle vea põhjust ja seda, kuidas seda MySQL-serveri abil lahendada.
Mis põhjustab 'MySQL-i veakoodi 1175'?
'MySQL-i veakood 1175' ilmneb UPDATE või DELETE toimingu sooritamisel ilma WHERE-klauslit kasutamata.
Vaikimisi kasutab MySQL funktsiooni nimega safe_mode, mis takistab teil käivitada käsku UPDATE või DELETE ilma WHERE-klauslita. See hoiab ära juhusliku andmete kadumise sihtmärgil.
Seega, kui funktsioon safe_mode on aktiveeritud, tagastab MySQL veakoodi 1175 mis tahes DELETE- või UPDATE-toimingu puhul, mis ei sisalda WHERE-klauslit.
Näide on näidatud allpool:
uuendus sakila.film seatud pealkiri = 'Uus pealkiri' ;Sel juhul proovime muuta pealkirja veeru väärtust, täpsustamata, millist rida soovime sihtida. Selle tulemusena võime kogu tabeli määratud väärtusega üle kirjutada. Seega takistab MySQL seda ja tagastab tõrke, nagu näidatud:
MySQL Kontrollige, kas Safe_Mode on lubatud
Funktsiooni Safe_mode olek salvestatakse muutujasse sql_safe_updates. Seega saame hankida selle muutuja väärtuse, et teha kindlaks, kas funktsioon safe_mode on lubatud või mitte.
Päring on selline, nagu näidatud:
näita muutujaid nagu 'sql_safe_updates' ;Päring peaks tagastama oleku nagu näidatud:
+------------------+-------+| Muutuja_nimi | Väärtus |
+------------------+-------+
| sql_safe_updates | PEAL |
+------------------+-------+
1 rida sisse seatud ( 0.00 sek )
Sel juhul näeme, et seansil on funktsioon safe_mode lubatud.
Kuidas lahendada 'MySQL-i veakood 1175'
Parim viis seda tüüpi vea lahendamiseks on WHERE-klausli kasutamine. Kuid mõnel juhul võib meil tekkida vajadus teha VÄRSKENDAMINE või KUSTUTAMINE ilma tingimusteta.
Selleks saame seansil keelata funktsiooni safe_mode, mis võimaldab meil päringut täita. Seejärel saame kasutada käsku SET, millele järgneb muutuja nimi ja väärtus, mida soovime seada.
Näiteks turvalise_režiimi keelamiseks määrame muutuja sql_safe_updates väärtuseks 0. Päring on selline:
SET SQL_SAFE_UPDATES = 0 ;Selle lubamiseks määrake väärtuseks 1 järgmiselt:
SET SQL_SAFE_UPDATES = 1 ;MySQL Workbenchis saate funktsiooni safe_mode keelata, liikudes menüüsse Redigeerimine-> Eelistused -> SQL-redaktor
Keelake funktsioon 'Ohutud värskendused' ja taaskäivitage seanss serveris.
Lõpetamine
Selles postituses õppisite UPDATE või DELETE avalduste tegemisel teada MySQL-i veakoodi 1175 põhjuse. Samuti õppisite, kuidas viga lahendada, keelates MySQL-i turvarežiimi funktsiooni.