让 SQLite 在出现第一个错误时中止(并唱歌)

wok*_*oky 8 sqlite

我想将这篇文章命名为“让 SQLite 在第一次错误时中止”,但 StackOverflow 的人工智能霸主认为这不符合他们对智能人类行为的概念。根据记录,我正在谷歌上搜索这一点,但也许谷歌人工智能也认为我的问题不值得,并且懒得帮助我。模组们,请随意根据您的人工智能老板的愿望更改标题(如果您能弄清楚的话)。


我有这个脚本

create if not exists table entries (
    id integer primary key,
    start datetime not null,
    end datetime not null
);

delete from entries;
insert into entries values (1, '2018-08-01 10:00', '2018-08-01 15:00');
insert into entries values (2, '2018-08-01 17:00', '2018-08-01 20:00');
insert into entries values (1, '2018-08-02 19:00', '2018-08-02 00:00');
insert into entries values (1, '2018-08-03 00:00', '2018-08-03 04:00');
insert into entries values (1, '2018-08-03 14:00', '2018-08-03 18:00');
Run Code Online (Sandbox Code Playgroud)

表述有错误create。当我运行脚本时我得到

% sqlite3 db.sqlite3 <ddl.sql
Error: near line 1: near "if": syntax error
Error: near line 7: no such table: entries
Error: near line 8: no such table: entries
Error: near line 9: no such table: entries
Error: near line 10: no such table: entries
Error: near line 11: no such table: entries
Error: near line 12: no such table: entries
Run Code Online (Sandbox Code Playgroud)

如何让 SQLite 在遇到第一个错误时退出执行脚本?我正在寻找set -eBash 中的等效项。

Cod*_*key 5

文档来看,您似乎可以打开点命令.bail

.bail on|off 遇到错误后停止。默认关闭

另请参阅- O'Reilly 使用 Sqlite

编辑

要退出,可以使用.exit点命令。

  • 这不会使 shell 因错误而退出。(在我测试之前,这也是我的第一个建议)。 (2认同)