SQLiteコマンドプロンプトでコマンドの記述を間違えましたが、これを中止します。これがコマンドラインの外観です
sqlite> select * from todos" ...> " ...> ;^C
この場合、おそらく見積もりを開いたため、ENTER
を押してコマンドを実行することすらできません。I行の継続を取得するだけですが、プロンプトの制御を取り戻すために、不正なコードと原因とエラーを実行する必要があるため、それでも理想的とは言えません。
行/コマンドをキャンセルして、元に戻すにはどうすればよいですか。プロンプトに移動しますか?
コメント
回答
sqlite3
インターフェースはコマンドライン編集にReadLineライブラリを使用します。全行を消去できます。 h Ctrl + U ただし、 Enter を押すと、その行は受け入れられ、編集できなくなります。
通知、 Ctrl + D を送信すると、クライアントに終了を求めるプロンプトが表示されますが、これは希望どおりではありません。
最善の策
- 任意の文字列を閉じてから、
- 最後の
;
を発行する前に、意図的な構文エラーを生成します。
例:
sqlite> select * from todos" ...> " ...> *** I made a mistake ...> ; Error: near "*": syntax error sqlite>
これにより、何も実行されなくなり、SQLiteセッションが終了します。一時テーブルはそのままです。
コメント
- ありがとう、はい、それが最善の回避策かもしれないと思いました
- を押した場合矢印キーの後に入力します。つまり、
> ^[[A
のように入力してから...>
のように入力し、ブラケットを閉じてキャンセルする必要があります。> ]];
。これには本当にCtrl + Cをサポートする必要があります。 'このように不快です。
sqlite
のstdinを閉じて終了します…