Código de error de MySQL: 1175 durante la ACTUALIZACIÓN en MySQL Workbench

Resuelto Jury A asked hace 12 años • 23 respuestas

Quiero actualizar la columna visitedpara 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 updateopción del Editmenú y Preferencesluego SQL Editor. Pero sigo recibiendo el mismo error.

¿Lo que está mal? ¿Cómo puedo actualizar el valor?

Jury A avatar Jul 12 '12 15:07 Jury A
Aceptado

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 keyen where clause).

Habibillah avatar Jul 12 '2012 08:07 Habibillah

Siga los siguientes pasos antes de ejecutar el comando ACTUALIZAR: En MySQL Workbench

  1. Ir a Edit-->Preferences
  2. Haga clic en "SQL Editor"la pestaña y en uncheck"Actualizaciones seguras"check box
  3. Query--> Reconnect to Server // cerrar sesión y luego iniciar sesión
  4. Ahora ejecute su consulta SQL

PD: ¡No es necesario reiniciar el demonio MySQL!

Ripon Al Wasim avatar Jan 09 '2013 09:01 Ripon Al Wasim
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;
user2531028 avatar Jul 26 '2013 14:07 user2531028

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.

Rudy De Volder avatar Feb 04 '2015 07:02 Rudy De Volder

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"

ingrese la descripción de la imagen aquí La versión antigua puede:

MySQL Workbench => [Edit] => [Preferences] => [SQL Queries]
Tính Ngô Quang avatar Jul 31 '2018 09:07 Tính Ngô Quang