SQLite3コマンドライン:コマンドをキャンセルする方法は?

SQLite3コマンドライン:コマンドをキャンセルする方法は?

SQLiteのコマンドプロンプトでコマンドを書いている間に間違いを犯し、今やりたいと思います。これが私のコマンドラインの外観です

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

ENTERこの場合、見積もりが開いているため、クリックしてコマンドを実行することもできません。続行が表示されますが、プロンプト制御を再取得するには、誤ったコード、理由、およびエラーを実行する必要があるため、まだ理想的ではありません。
行/コマンドをキャンセルしてプロンプトに戻るにはどうすればよいですか?

ベストアンサー1

このsqlite3インターフェイスは、コマンドライン編集にReadLineライブラリを使用します。を使用して行全体を削除できますが、を押すとそのCtrl+UEnterが適用され、編集できなくなります。

すでにあなたのように気づく、送信するとCtrl+Dクライアントが終了するように求められますが、これは望むものではありません。

最良の選択は

  1. 文字列を閉じてから、
  2. Finalが発行される前に、意図;的に構文エラーが生成されます。

あなたの例では:

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

これにより、操作は実行されず、SQLiteセッション内のすべての一時テーブルをそのまま保持できます。

おすすめ記事