Eu cometi um erro ao escrever um comando no prompt de comando SQLite, que agora desejo abortar, esta é a aparência da minha linha de comando
sqlite> select * from todos" ...> " ...> ;^C
Neste caso, provavelmente porque abri uma citação, não consigo nem mesmo clicar em ENTER
para executar o comando. apenas obter uma continuação de linha, que ainda seria menos do que ideal porque eu estaria tendo que executar um código ruim e causa e erro, apenas para recuperar o controle do prompt.
Como posso cancelar a linha / comando e voltar a um prompt?
Comentários
Resposta
A interface sqlite3
usa a biblioteca ReadLine para edição de linha de comando. Você pode apagar uma linha inteira sagacidade h Ctrl + U mas assim que você pressionou Enter , a linha foi aceita e não é mais editável.
Conforme você “ve notado , enviar Ctrl + D fará com que o cliente saia, o que não é o que você deseja.
Sua melhor aposta é
- fechar qualquer string e, então,
- antes de emitir um
;
final, gerar um erro de sintaxe deliberado.
No seu exemplo:
sqlite> select * from todos" ...> " ...> *** I made a mistake ...> ; Error: near "*": syntax error sqlite>
Isso garantirá que nada seja executado e deixará você na sessão SQLite com as tabelas temporárias intactas.
Comentários
- obrigado, sim, pensei que seria a melhor solução alternativa
- Se você pressionou digite depois de uma tecla de seta, ou seja, você tem algo como
> ^[[A
e, em seguida,...>
, então você tem que fechar os colchetes para cancelar isso:> ]];
. Realmente deve suportar Ctrl + C para isso. É ' desagradável dessa forma.
sqlite
e faça com que saia …