이 명령을 사용하여 sqlite3 버전 3.7.7, unix 11.4.2를 시작합니다.
sqlite3 auction.db
auction.db가 아직 생성되지 않았습니다.
sqlite> auction.db < create.sql;
이 오류가 발생합니다. near "auction": syntax error
스크립트를 어떻게 실행할 수 있습니까?
답변:
당신은 먹이고 싶은 create.sql
로를 sqlite3
하지 SQLite는 자체 내부에서, 쉘에서 :
$ sqlite3 auction.db < create.sql
SQLite의 SQL 버전은 <
파일을 이해하지 못하며 쉘은 이해 합니다.
<
입력 리디렉션으로 이해 하는 것은 아닙니다 . (예, PowerShell.)
<
SQLite 프롬프트를 즉시 종료하고 오류 코드를 셸에 반환합니다. .read file.sql
프롬프트를 그대로두고 -init file.sql
항상 0을 반환하므로 <
스크립팅에 가장 적합합니다. 또한 .read
Windows 경로를 지원하지 않는 것과 달리 크로스 플랫폼 입니다.
간단한 쿼리를 실행하고 쉘 스크립트로 돌아가려면 이것이 잘 작동한다고 생각합니다.
$ sqlite3 example.db 'SELECT * FROM some_table;'
sqlite3 example.db 'SELECT * FROM some_table;'
하지 않고 에코 배관보다,
sqlite3
실행할 명령을 읽는 것을 보여줍니다 stdin
.
PowerShell을 사용하는 경우
PS C:\> Get-Content create.sql -Raw | sqlite3 auction.db
.read
으로부터 직접 명령을sqlite3
명령sqlite3 autction.db '.read create.sql'
.