이제 중단하고 싶은 SQLite 명령 프롬프트에서 명령을 작성하는 중에 실수를 저질렀습니다. 이것이 제 명령 줄의 모습입니다.

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

이 경우 인용문을 열었 기 때문에 ENTER를 눌러 명령을 실행할 수도 없습니다. 줄 연속을 얻으십시오. 잘못된 코드를 실행하고 원인과 오류를 실행해야하므로 프롬프트를 다시 제어해야하기 때문에 여전히 이상적이지 않습니다.
줄 / 명령을 취소하고 다시 반환하려면 어떻게해야합니까? 프롬프트에 표시 하시겠습니까?

댓글

  • 아마 ^ D가 sqlite에 대한 stdin을 닫고 종료합니다. …
  • @Ralph ctrl D는 메모리 데이터베이스 손실을 포함하여 sqlite가 전체 세션을 종료하도록합니다.-만약 당신이 어떤 것을 실행하고 있다면

Answer

sqlite3 인터페이스는 명령 줄 편집에 ReadLine 라이브러리를 사용합니다. 전체 줄을 지울 수 있습니다. h Ctrl + U 이지만 Enter 를 누르면 해당 행이 승인되어 더 이상 편집 할 수 없습니다.

알림 , Ctrl + D 를 보내면 클라이언트가 종료하라는 메시지가 표시되며 이는 원하는 것이 아닙니다.

최선의 선택

  1. 모든 문자열을 닫은 다음
  2. 최종 ;를 발행하기 전에 의도적 인 구문 오류를 생성하는 것입니다.

예 :

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

이렇게하면 아무것도 실행되지 않고 SQLite 세션에 남게됩니다. 임시 테이블은 그대로 둡니다.

댓글

  • 감사합니다. 그게 최선의 해결 방법이라고 생각했습니다.
  • 화살표 키 뒤에 입력합니다. 즉, > ^[[A...>와 같은 항목이있는 경우 괄호를 닫아 취소해야합니다. > ]]; 이를 위해 실제로 Ctrl + C를 지원해야합니다. 이 방식은 ' 불쾌합니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다