Código de error de MySQL: 1175 durante la ACTUALIZACIÓN en MySQL Workbench
Estoy tratando de actualizar la columna visited
para darle el valor 1. Utilizo MySQL workbench, y estoy escribiendo la declaración en el editor SQL desde dentro de workbench. Estoy escribiendo el siguiente comando:
UPDATE tablename SET columnname=1;
Me da el siguiente error:
Está utilizando el modo de actualización segura e intentó actualizar una tabla sin a DONDE utiliza una columna CLAVE Para desactivar el modo seguro, alternar la opción ....
Seguí las instrucciones, y desmarcé el safe update
opción del menú Edit
luego Preferences
luego SQL Editor
. El mismo error sigue apareciendo y no puedo actualizar este valor. Por favor, dime qué pasa.
15 answers
Parece que su sesión de MySQL tiene la opción safe-updates establecida. Esto significa que no puede actualizar o eliminar registros sin especificar una clave (ej. primary key
) en la cláusula where.
Intenta:
SET SQL_SAFE_UPDATES = 0;
O puede modificar su consulta para seguir la regla (use primary key
en where clause
).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-25 19:10:51
Siga los siguientes pasos antes de ejecutar el comando UPDATE: En MySQL Workbench
- Ir a
Edit
-->Preferences
- Haga clic en la pestaña
"SQL Editor"
yuncheck
"Actualizaciones seguras"check box
-
Query
-->Reconnect to Server
// cerrar sesión y luego iniciar sesión - Ahora ejecute su consulta SQL
P. S., No hay necesidad de reiniciar el demonio MySQL!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-05 09:49:51
SET SQL_SAFE_UPDATES=0;
UPDATE tablename SET columnname=1;
SET SQL_SAFE_UPDATES=1;
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-05 06:27:14
Todo lo que se necesita es: Iniciar una nueva consulta y ejecutar:
SET SQL_SAFE_UPDATES = 0;
Luego: Ejecute la consulta que estaba tratando de ejecutar que no estaba funcionando previamente.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-08 06:37:46
No es necesario establecer SQL_SAFE_UPDATES en 0, realmente lo desalentaría de hacerlo de esa manera. Simplemente agregue en la cláusula WHERE un valor CLAVE que coincida con todo como una clave primaria en comparación 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 como espera.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-04 08:23:26
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-19 17:37:45
SET SQL_SAFE_UPDATES=0;
O
Ir a Edit --> Preferences
Haga clic SQL Queries
tab y desmarcar Safe Updates
casilla de verificación
Query --> Reconnect to Server
Ahora ejecute su consulta sql
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-02-04 11:16:38
Si está en modo seguro, debe proporcionar id en la cláusula where. Así que algo como esto debería funcionar!
UPDATE tablename SET columnname=1 where id>0
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-09-11 09:32:40
Encontré la respuesta. El problema era que tenía que preceder el nombre de la tabla con el nombre del esquema. es decir, el comando debe ser:
UPDATE schemaname.tablename SET columnname=1;
Gracias a todos.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-07-25 05:49:02
En la versión 6.2 de MySQL Workbech no salga de las opciones PreferenceSQLQueries
.
SET SQL_SAFE_UPDATES=0;
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-09-10 19:55:49
Código de error: 1175. Está utilizando el modo de actualización segura y ha intentado actualizar una tabla sin un DONDE que utiliza una columna CLAVE Para desactivar el modo seguro, alternar la opción en Preferencias - > Editor SQL y volver a conectar.
Desactivar" Modo de actualización segura " temporal
SET SQL_SAFE_UPDATES = 0;
UPDATE options SET title= 'kiemvieclam24h' WHERE url = 'http://kiemvieclam24h.net';
SET SQL_SAFE_UPDATES = 1;
Desactivar "Modo de actualización segura" para siempre
Mysql workbench 8.0:
MySQL Workbench => [ Edit ] => [ Preferences ] -> [ SQL Editor ] -> Uncheck "Safe Updates"
MySQL Workbench => [Edit] => [Preferences] => [SQL Queries]
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-31 09:35:18
La solución más sencilla es definir el límite de fila y ejecutarlo. Esto se hace por motivos de seguridad.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-30 08:55:34
Dado que la pregunta fue respondida y no tenía nada que ver con actualizaciones seguras, este podría ser el lugar equivocado; publicaré solo para agregar información.
Traté de ser un buen ciudadano y modificación de la consulta para utilizar una tabla temporal de los identificadores que se actualiza:
create temporary table ids ( id int )
select id from prime_table where condition = true;
update prime_table set field1 = '' where id in (select id from ids);
Fracaso. Se ha modificado la actualización a:
update prime_table set field 1 = '' where id <> 0 and id in (select id from ids);
Eso funcionó. Bueno, caramba if si siempre estoy agregando where key 0 para evitar la comprobación de actualización segura,o incluso establecer SQL_SAFE_UPDATE = 0, entonces he perdido el' check ' en mi consulta. También podría desactivar la opción permanentemente. Supongo que hace que la eliminación y actualización sea un proceso de dos pasos en lugar de uno.. pero si escribe lo suficientemente rápido y deja de pensar que la clave es especial, sino más bien como una molestia..
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-04-20 15:04:35
Cierto, esto no tiene sentido para la mayoría de los ejemplos. Pero finalmente, llegué a la siguiente declaración y funciona bien:
update tablename set column1 = '' where tablename .id = (select id from tablename2 where tablename2.column2 = 'xyz');
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-10 11:20:59
Esto es para Mac, pero debe ser el mismo para otros sistemas operativos excepto la ubicación de las preferencias.
El error que obtenemos cuando intentamos una operación insegura DELETE
En la nueva ventana, desmarque la opción Safe updates
A continuación, cierre y vuelva a abrir la conexión. No es necesario reiniciar el servicio.
Ahora vamos a probar el DELETE
de nuevo con éxito resultado.
Entonces, ¿qué es todo acerca de estas actualizaciones seguras? No es una cosa malvada. Esto es lo que MySQL dice al respecto.
Usando la opción --safe-updates
Para principiantes, una opción de inicio útil es
--safe-updates
(o--i-am-a-dummy
, que tiene el mismo efecto). Es útil para casos en los que podría haber emitido una declaraciónDELETE FROM tbl_name
pero ha olvidado la cláusulaWHERE
. Normalmente, tal declaración elimina todos filas de la tabla. Con--safe-updates
, puedes eliminar filas solo por especificar los valores clave que los identifican. Esto ayuda a prevenir accidente.Cuando se utiliza la opción
--safe-updates
, mysql emite lo siguiente sentencia cuando se conecta al servidor MySQL:
SET sql_safe_updates=1, sql_select_limit=1000, sql_max_join_size=1000000;
Es seguro activar esta opción mientras se ocupa de la base de datos de producción. De lo contrario, debe tener mucho cuidado de no eliminar accidentalmente datos importantes.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-05 07:22:01