2011-11-11 26 views
49

Estoy tratando de eliminar todos los registros de una tabla. Mi consulta es:borrar todo el registro de la tabla en mysql

delete from tableName. 

Pero el siguiente error:

Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Editor -> Query Editor and reconnect."

¿Cómo puedo solucionar esto?

+4

Me puede estar faltando algo, pero el mensaje de error ya le dice qué hacer: * alternar la opción en Preferencias -> Editor SQL -> Editor de consultas y reconectar. * –

+2

mesa truncada en su lugar – chemila

+0

estoy usando mySQL Workbench y Atiende este error. – Sami

Respuesta

62

truncate tableName

Eso es lo que se busca.

Truncar will delete todos los registros en la tabla, vaciarlo.

+0

Muy útil. Gracias. – zeboidlund

+1

Este comando descarta la tabla. No elimina todos los registros de la tabla. – mousecoder

+0

@mousecoder Esto no es correcto, dejará una tabla vacía, donde eliminar elimina la tabla. Se agregó el enlace al manual. – Thirler

57

Es porque trataste de actualizar una tabla sin un WHERE que utiliza una columna KEY.

La solución rápida es agregar SET SQL_SAFE_UPDATES = 0; antes de su consulta:

SET SQL_SAFE_UPDATES=0; 

O

cerrar el modo de actualización de seguridad. Editar -> Preferencias -> Editor SQL -> Editor SQL eliminar Forzar las instrucciones UPDATE y DELETE sin una cláusula WHERE (actualizaciones seguras).

Por cierto, puede usar truncate table para eliminar todos los registros.

+0

Para el registro, la última versión (y pueden ser las anteriores) también falla cuando usa TRUNCATE TABLE. Además, el error sigue siendo el mismo, sin embargo, la opción está en Editar-> Preferencia -> Consultas SQL (y no en el Editor SQL). – magallanes

Cuestiones relacionadas