Código de error de MySQL: 1175 durante la ACTUALIZACIÓN en MySQL Workbench
Quiero actualizar la columna visited
para darle el valor 1. Probé este comando en el editor SQL dentro del banco de trabajo MySQL:
UPDATE tablename SET columnname=1;
Pero me sale un error que dice:
Está utilizando el modo de actualización segura e intentó actualizar una tabla sin un WHERE que usa una columna CLAVE. Para deshabilitar el modo seguro, active la opción...
Seguí las instrucciones y desmarqué la safe update
opción del Edit
menú y Preferences
luego SQL Editor
. Pero sigo recibiendo el mismo error.
¿Lo que está mal? ¿Cómo puedo actualizar el valor?
Parece que su sesión de MySql tiene configurada la opción de actualizaciones seguras . Esto significa que no puede actualizar ni eliminar registros sin especificar una clave (por ejemplo, primary key
) en la cláusula dónde.
Intentar:
SET SQL_SAFE_UPDATES = 0;
O puede modificar su consulta para seguir la regla (usar primary key
en where clause
).
Siga los siguientes pasos antes de ejecutar el comando ACTUALIZAR: En MySQL Workbench
- Ir a
Edit
-->Preferences
- Haga clic en
"SQL Editor"
la pestaña y enuncheck
"Actualizaciones seguras"check box
Query
-->Reconnect to Server
// cerrar sesión y luego iniciar sesión- Ahora ejecute su consulta SQL
PD: ¡No es necesario reiniciar el demonio MySQL!
SET SQL_SAFE_UPDATES = 0;
# your code SQL here
SET SQL_SAFE_UPDATES = 1;
SET SQL_SAFE_UPDATES=0;
UPDATE tablename SET columnname=1;
SET SQL_SAFE_UPDATES=1;
No es necesario configurar SQL_SAFE_UPDATES en 0 , realmente desaconsejaría que lo haga de esa manera. SAFE_UPDATES está activado de forma predeterminada por una RAZÓN. Puedes conducir un automóvil sin cinturones de seguridad y otras cosas si sabes a qué me refiero;) Simplemente agrega en la cláusula WHERE un valor CLAVE que coincida con todo, como una clave primaria comparada con 0, así que en lugar de escribir:
UPDATE customers SET countryCode = 'USA'
WHERE country = 'USA'; -- which gives the error, you just write:
UPDATE customers SET countryCode = 'USA'
WHERE (country = 'USA' AND customerNumber <> 0); -- Because customerNumber is a primary key you got no error 1175 any more.
Ahora puede estar seguro de que cada registro se actualiza (SIEMPRE) como espera.
Código de error: 1175. Está utilizando el modo de actualización seguro e intentó actualizar una tabla sin un WHERE que usa una columna CLAVE. Para deshabilitar el modo seguro, active la opción en Preferencias -> Editor SQL y vuelva a conectarse.
Desactive temporalmente el "Modo de actualización segura"
SET SQL_SAFE_UPDATES = 0;
UPDATE options SET title= 'kiemvieclam24h' WHERE url = 'http://kiemvieclam24h.net';
SET SQL_SAFE_UPDATES = 1;
Desactive el "Modo de actualización segura" para siempre
Banco de trabajo MySQL 8.0:
MySQL Workbench => [ Edit ] => [ Preferences ] -> [ SQL Editor ] -> Uncheck "Safe Updates"
La versión antigua puede:
MySQL Workbench => [Edit] => [Preferences] => [SQL Queries]