SQLite3命令行:如何取消命令?

SQLite3命令行:如何取消命令?

我在 SQLite 命令提示符下编写命令时犯了一个错误,现在我想中止,这就是我的命令行的样子

sqlite> select * from todos'
   ...> '
   ...> ;^C

在这种情况下,可能是因为我打开了报价,我什至无法点击ENTER运行命令。我只是得到了一个续行,但这仍然不太理想,因为我将不得不运行错误的代码、原因和错误,只是为了重新获得对提示的控制。
如何取消行/命令并返回到提示?

答案1

sqlite3界面使用 ReadLine 库进行命令行编辑。您可以使用 删除整行,Ctrl+U但一旦按下Enter,该行就被接受并且不再可编辑。

正如你已经注意到,发送Ctrl+D会提示客户端退出,这不是你想要的。

你最好的选择是

  1. 关闭任何字符串,然后,
  2. 在发出 Final 之前;,故意生成语法错误。

在你的例子中:

sqlite> select * from todos'
   ...> '
   ...> *** I made a mistake
   ...> ;
Error: near "*": syntax error
sqlite>

这将确保不会执行任何操作,并且会让您在 SQLite 会话中保持所有临时表完好无损。

相关内容