MarcosBL

Aprendiz de todo, maestro de nada

MySQL … tratame bien que soy tontito

Probablemente no sepas que existe una opción para la linea de comandos del cliente de MySQL que reza, literalmente –i-am-a-dummy (soy tontito, o soy novato)

Es una opción pensada para novatos en el uso de esta herramienta, que tiene eñ mismo efecto que el switch –safe-updates. La opción –i-am-a-dummy es tremendamente útil porque te permite evitar «accidentes» dolorosos, por ejemplo un:

DELETE FROM tabla

eliminaría todo el contenido de la tabla X, sin embargo, con la opción –i-am-a-dummy:

  • No puedes eliminar o modificar registros si no especificas la clave principal (id habitualmente)que los identifica, o fijas un LIMIT en la consulta.
  • Todos los SELECT que hagas serán limitados automáticamente a 1000 resultados a menos que especifiques un LIMIT de forma manual.
  • Los SELECT ejecutados sobre múltiples tablas que puedan verse obligados a examinar más de 1.000.000 de combinaciones de registro son automáticamente anuladas y no se ejecutan.

Por ejemplo:

mysql –i-am-a-dummy -uUSUARIO -pCONTRASEÑA

mysql> delete from tabla;

ERROR 1175: You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column