2012-01-10 9 views
56

Supongamos que está escribiendo una consulta de línea de comando en una base de datos MySQL y necesita cancelar y comenzar de nuevo. Desde un shell bash puedes simplemente escribir ctrl-c y obtener un nuevo prompt. En MySQL, ctrl-c saldría del cliente y lo devolvería al shell.¿Cómo borra una consulta MySQL no ejecutada desde la línea de comandos?

Por ejemplo, tengo una instrucción SELECT larga y compleja introducida pero aún no he pulsado return. Me doy cuenta de que no quiero enviar el comando pero quiero tener el comando en pantalla para poder usarlo como referencia. Me gustaría rescatarme sin salir de MySQL. ¿Algunas ideas?

Punto clave: the command hasn't yet been executed.

+8

Sólo como referencia, en MySQL 5.7, esto se ha resuelto. Ahora puede hacer ctrl-c para hacer exactamente esto. – dkniffin

+0

La pila LAMP es tan antigua y tiene un uso muy extendido. Me sorprende que les tome tanto tiempo arreglar cosas con las que las personas se hubieran topado día a día. – ahnbizcad

Respuesta

80

Tipo \c.

Al iniciar MySQL, es probable que vea este mensaje:

Type 'help;' or '\h' for help. Type '\c' to clear the buffer. 

El "tampón" que se refiere es el búfer de comando/consulta.

+1

Solo un pequeño punto: tienes que hacer esto _antes de cualquier terminador de punto y coma. – wulftone

+0

Lo bueno es que, en realidad, no _clara_; lo que sea tipeado permanece visible.(Honestamente, no lo habría adivinado por el mensaje, que es por lo que nunca lo intenté). –

-1

Si se trata de un comando largo, generalmente hago una flecha al principio del comando y agrego un galimatías, por lo que no se ejecutará, pero puedo hacer una flecha arriba y obtener acceso sin tener que volver a escribirlo. De lo contrario, si no desea ejecutarlo, simplemente presione la flecha hacia arriba y se desplazará a través de su historial de comandos. Encuentre un comando corto, retroceda, luego escriba lo que quiera.

0

Depende de las vinculaciones de teclas de su caparazón. Se podría presionar a casa o lo que la secuencia de teclas que se utiliza para volver al inicio, el prefijo de su consulta con X o lo que sea para que sea válida sintácticamente, pulsa enter y ya está bueno

35

Primer tipo Ctrl +a, luego Ctrl + k.

+4

Pero el OP especificó: "Quiero tener el comando en pantalla para que pueda usarlo como referencia". – ruakh

+1

Esto parece no funcionar más ... – Pacerier

+0

Funciona a partir de la versión 5.5.40-0. – untill

10

Utilice uno de los siguientes métodos abreviados para borrar la línea actual:

  • Tipo Ctrl + u eliminar todo, desde el cursor hasta la línea de salida
  • Tipo Ctrl + k para borrar todo desde el cursor hasta el final de la línea

De lo contrario, como ya se indicó, escriba \ c al final de la línea actual (un acceso directo para el comando clear) y luego presione Ingrese.

0

Si usted vino aquí con la esperanza de encontrar la misma respuesta en Transact-SQL, el tipo RESET

Cuestiones relacionadas