Codi d'error MySQL 1175 durant l'ACTUALITZACIÓ a MySQL

Codi D Error Mysql 1175 Durant L Actualitzacio A Mysql



'Quan treballeu amb bases de dades MySQL, és possible que us trobeu amb el 'Codi d'error 1175' activat quan realitzeu instruccions d'ACTUALITZACIÓ o ELIMINAR'.

Aquesta publicació tractarà la causa d'aquest error i com podem resoldre'l mitjançant el servidor MySQL.







Què causa el 'Codi d'error MySQL 1175'?

El 'Codi d'error MySQL 1175' es produeix quan es realitza una operació UPDATE o DELETE sense utilitzar la clàusula WHERE.



Per defecte, MySQL utilitza una característica anomenada safe_mode que impedeix executar una instrucció UPDATE o DELETE sense una clàusula WHERE. Això evita qualsevol pèrdua accidental de dades a l'objectiu.



Per tant, quan s'activa la funció safe_mode, MySQL retornarà el codi d'error 1175 en qualsevol operació DELETE o UPDATE que no inclogui una clàusula WHERE.





A continuació es mostra un exemple:

actualitza sakila.film conjunt títol = 'Nou títol' ;



En aquest cas, estem intentant canviar el valor de la columna del títol sense especificar a quina fila volem orientar-nos. Això pot fer que sobreescriguem tota la taula amb el valor especificat. Per tant, MySQL evitarà això i retornarà un error tal com es mostra:

MySQL Comproveu si el mode_segur està habilitat

L'estat de la funció safe_mode s'emmagatzema a la variable sql_safe_updates. Per tant, podem obtenir el valor d'aquesta variable per determinar si la funció safe_mode està habilitada o no.

La consulta és com es mostra:

mostrar variables com 'sql_safe_updates' ;

La consulta hauria de retornar l'estat tal com es mostra:

+------------------+-------+
| Nom_variable | Valor |
+------------------+-------+
| sql_safe_updates | ON |
+------------------+-------+
1 fila en conjunt ( 0.00 sec )

En aquest cas, podem veure que la funció safe_mode està habilitada a la sessió.

Com resoldre el 'Codi d'error MySQL 1175'

La millor manera de resoldre aquest tipus d'error és utilitzar una clàusula WHERE. No obstant això, en alguns casos, és possible que hàgim de realitzar una ACTUALITZACIÓ o ELIMINAR sense cap condició.

Per fer-ho, podem desactivar la funció safe_mode a la sessió, que ens permet executar la consulta. A continuació, podem utilitzar l'ordre SET seguida del nom de la variable i el valor que volem establir.

Per exemple, per desactivar el mode_segur, establim el valor de la variable sql_safe_updates a 0. La consulta és com es mostra:

SET SQL_SAFE_UPDATES = 0 ;

Per activar-lo, establiu el valor a 1 com:

SET SQL_SAFE_UPDATES = 1 ;

A MySQL Workbench, podeu desactivar la funció safe_mode navegant a Edita-> Preferències -> Editor SQL

Heu desactivat la funció 'Actualitzacions segures' i heu reiniciat la sessió al servidor.

Terminació

Heu après la causa del 'Codi d'error MySQL 1175' en aquesta publicació quan feu les instruccions UPDATE o DELETE. També heu après com resoldre l'error desactivant la funció de mode segur de MySQL.