'Kun työskentelet MySQL-tietokantojen kanssa, saatat kohdata 'Virhekoodin 1175', joka laukeaa suoritettaessa PÄIVITYS- tai POISTA-ohjeita.'
Tämä viesti käsittelee tämän virheen syytä ja kuinka voimme ratkaista sen käyttämällä MySQL-palvelinta.
Mikä aiheuttaa 'MySQL-virhekoodin 1175'?
'MySQL Error Code 1175' ilmenee, kun suoritetaan UPDATE- tai DELETE-toiminto ilman WHERE-lausetta.
MySQL käyttää oletusarvoisesti ominaisuutta nimeltä safe_mode, joka estää sinua suorittamasta UPDATE- tai DELETE-käskyä ilman WHERE-lausetta. Tämä estää vahingossa tapahtuvan tietojen katoamisen kohteessa.
Siksi, kun safe_mode-ominaisuus on aktivoitu, MySQL palauttaa virhekoodin 1175 jokaiselle DELETE- tai UPDATE-toiminnolle, joka ei sisällä WHERE-lausetta.
Alla on esimerkki:
päivitys sakila.film aseta otsikko = 'Uusi otsikko' ;Tässä tapauksessa yritämme muuttaa otsikkosarakkeen arvoa määrittelemättä mihin riviin haluamme kohdistaa. Tämä voi johtaa siihen, että ylikirjoitamme koko taulukon määritetyllä arvolla. Siksi MySQL estää tämän ja palauttaa virheen kuten kuvassa:
MySQL Tarkista, onko Safe_Mode käytössä
Safe_mode-ominaisuuden tila on tallennettu sql_safe_updates-muuttujaan. Näin ollen voimme noutaa tämän muuttujan arvon määrittääksemme, onko safe_mode-ominaisuus käytössä vai ei.
Kysely on kuvan mukainen:
näytä muuttujat kuten 'sql_safe_updates' ;Kyselyn pitäisi palauttaa seuraava tila:
+-------------------+-------+| Muuttujan_nimi | Arvo |
+-------------------+-------+
| sql_safe_updates | PÄÄLLÄ |
+-------------------+-------+
1 rivi sisään aseta ( 0,00 sek )
Tässä tapauksessa voimme nähdä, että safe_mode-ominaisuus on otettu käyttöön istunnossa.
Kuinka ratkaista 'MySQL Error Code 1175'
Paras tapa ratkaista tämäntyyppinen virhe on WHERE-lauseen käyttäminen. Joissakin tapauksissa saatamme kuitenkin joutua suorittamaan PÄIVITYKSEN tai POISTAMISEN ilman ehtoja.
Tätä varten voimme poistaa safe_mode-ominaisuuden käytöstä istunnossa, jolloin voimme suorittaa kyselyn. Sitten voimme käyttää SET-komentoa, jota seuraa muuttujan nimi ja arvo, jonka haluamme asettaa.
Esimerkiksi, jos haluat poistaa safe_mode-tilan käytöstä, asetamme sql_safe_updates-muuttujan arvoksi 0. Kysely on seuraavanlainen:
SET SQL_SAFE_UPDATES = 0 ;Ota se käyttöön asettamalla arvoksi 1 seuraavasti:
SET SQL_SAFE_UPDATES = 1 ;MySQL Workbenchissä voit poistaa safe_mode-ominaisuuden käytöstä siirtymällä kohtaan Muokkaa-> Asetukset -> SQL-editori.
Poisti 'Turvalliset päivitykset' -ominaisuuden käytöstä ja aloitti istunnon uudelleen palvelimelle.
Irtisanominen
Opit 'MySQL-virhekoodin 1175' syyn tässä viestissä suorittaessasi UPDATE- tai DELETE-käskyjä. Opit myös ratkaisemaan virheen poistamalla MySQL safe_mode -ominaisuuden käytöstä.