Cometí un error al escribir un comando en el símbolo del sistema SQLite, que ahora quiero abortar, así es como se ve mi línea de comando
sqlite> select * from todos" ...> " ...> ;^C
En este caso, probablemente porque abrí una cita, no puedo ni siquiera presionar ENTER
para ejecutar el comando. solo obtenga una continuación de línea, eso aún sería menos que ideal porque tendría que ejecutar un código incorrecto y la causa y el error, solo para recuperar el control del indicador.
¿Cómo puedo cancelar la línea / comando y volver a un mensaje?
Comentarios
Respuesta
La interfaz sqlite3
utiliza la biblioteca ReadLine para la edición de la línea de comandos. Puede borrar una línea completa con h Ctrl + U pero una vez que ha presionado Enter , la línea ha sido aceptada y ya no es editable.
Como usted «ve notado , al enviar Ctrl + D se le pedirá al cliente que salga, que no es lo que desea.
Su mejor opción es
- cerrar cualquier cadena, y luego,
- antes de emitir un
;
final, generar un error de sintaxis deliberado.
En su ejemplo:
sqlite> select * from todos" ...> " ...> *** I made a mistake ...> ; Error: near "*": syntax error sqlite>
Esto asegurará que no se ejecute nada y lo dejará en la sesión de SQLite con las tablas temporales intactas.
Comentarios
- gracias, sí, pensé que podría ser la mejor solución
- Si ha presionado ingrese después de una tecla de flecha, es decir, tiene algo como
> ^[[A
y luego...>
, luego debe cerrar los corchetes para cancelar eso:> ]];
. Realmente debería admitir Ctrl + C para esto. Es ' desagradable de esta manera.
sqlite
y lo haga salir …