在Windows平台上,我有以下内容:
schema.sql
(包含sql脚本)sqlite3.exe
(sqlite的命令shell - >从sqlite.org下载)build.bat
:包含以下行的批处理文件:sqlite3.exe -init schema.sql default.db3
当我运行build.bat时,数据库按预期创建,但是,sqlite shell不会自动终止。那么如何让批处理文件自动运行并终止sqlite命令shell呢?
E.g。输出:
C:\Work\X\Database>sqlite3.exe -init schema.sql default.db3
-- Loading resources from schema.sql
SQLite version 3.7.4
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>
答案 0 :(得分:3)
尝试这样称呼:
echo .quit | sqlite3.exe
或者将.quit
放在文件的末尾。
答案 1 :(得分:2)
似乎(因为您还没有显示其内容)bat
文件缺少exit
语句。您可以自己添加:
sqlite3.exe -init schema.sql default.db3 .exit
答案 2 :(得分:2)
我遇到了与sqlite3 3.11相同的问题(但没有使用3.8),对我有用的解决方案是:
sqlite3.exe default.db3 < schema.sql
瑞吉斯的答案也很好。
答案 3 :(得分:0)
我同意安德烈的观点。如果这不起作用,请尝试在schema.sql
末尾的单独行中添加“quit”我希望这会有所帮助。
答案 4 :(得分:0)
尝试改为:
type schema.sql | sqlite3 default.db3
答案 5 :(得分:0)
高尔夫安德烈的答案,你也可以运行:
echo | sqlite3
EOF即将关闭sqlite3