MySQL Error Code 1175 Habang UPDATE sa MySQL

Mysql Error Code 1175 Habang Update Sa Mysql



'Kapag nagtatrabaho sa mga database ng MySQL, maaari kang makatagpo ng 'Error Code 1175' na na-trigger kapag nagsasagawa ng isang UPDATE o DELETE na mga tagubilin.'

Tatalakayin ng post na ito ang sanhi ng error na ito at kung paano natin ito mareresolba gamit ang MySQL server.







Ano ang Nagiging sanhi ng 'MySQL Error Code 1175'?

Ang 'MySQL Error Code 1175' ay nangyayari kapag nagsasagawa ng isang UPDATE o DELETE na operasyon nang hindi ginagamit ang sugnay na WHERE.



Bilang default, gumagamit ang MySQL ng feature na tinatawag na safe_mode na pumipigil sa iyong magsagawa ng UPDATE o DELETE na pahayag nang walang WHERE clause. Pinipigilan nito ang anumang hindi sinasadyang pagkawala ng data sa target.



Samakatuwid, kapag na-activate ang feature na safe_mode, ibabalik ng MySQL ang error code 1175 sa anumang operasyong DELETE o UPDATE na walang kasamang WHERE clause.





Ang isang halimbawa ay ipinapakita sa ibaba:

update sakila.film itakda pamagat = 'Bagong Pamagat' ;



Sa kasong ito, sinusubukan naming baguhin ang halaga ng column ng pamagat nang hindi tinukoy kung aling row ang gusto naming i-target. Maaari itong magresulta sa pag-overwrite namin sa buong talahanayan gamit ang tinukoy na halaga. Samakatuwid, pipigilan ito ng MySQL at magbabalik ng isang error tulad ng ipinapakita:

MySQL Suriin kung Pinagana ang Safe_Mode

Ang estado ng tampok na safe_mode ay naka-imbak sa sql_safe_updates variable. Kaya, maaari naming makuha ang halaga ng variable na ito upang matukoy kung ang tampok na safe_mode ay pinagana o hindi.

Ang query ay tulad ng ipinapakita:

ipakita ang mga variable tulad ng 'sql_safe_updates' ;

Dapat ibalik ng query ang estado tulad ng ipinapakita:

+------------------+-------+
| Variable_name | Halaga |
+------------------+-------+
| sql_safe_updates | NAKA-ON |
+------------------+-------+
1 hilera sa itakda ( 0.00 sec )

Sa kasong ito, makikita natin na ang tampok na safe_mode ay pinagana sa session.

Paano Lutasin ang 'MySQL Error Code 1175'

Ang pinakamahusay na paraan upang malutas ang ganitong uri ng error ay ang paggamit ng sugnay na WHERE. Gayunpaman, sa ilang mga kaso, maaaring kailanganin naming magsagawa ng UPDATE o DELETE nang walang anumang kundisyon.

Upang gawin ito, maaari naming i-disable ang feature na safe_mode sa session, na nagbibigay-daan sa aming isagawa ang query. Pagkatapos, maaari nating gamitin ang utos na SET na sinusundan ng pangalan ng variable at ang halaga na nais nating itakda.

Halimbawa, upang huwag paganahin ang safe_mode, itinakda namin ang halaga ng variable na sql_safe_updates sa 0. Ang query ay tulad ng ipinapakita:

SET SQL_SAFE_UPDATES = 0 ;

Upang paganahin ito, itakda ang halaga sa 1 bilang:

SET SQL_SAFE_UPDATES = 1 ;

Sa MySQL Workbench, maaari mong hindi paganahin ang tampok na safe_mode sa pamamagitan ng pag-navigate sa Edit-> Preferences -> SQL Editor

Na-disable ang feature na “Safe Updates” at na-restart ang iyong session sa server.

Pagwawakas

Nalaman mo ang sanhi ng 'MySQL Error Code 1175' sa post na ito kapag nagsasagawa ng UPDATE o DELETE na mga pahayag. Natutunan mo rin kung paano lutasin ang error sa pamamagitan ng hindi pagpapagana ng tampok na MySQL safe_mode.