使SQLite在遇到第一个错误时中止(并唱歌)

时间:2018-09-25 19:50:30

标签: sqlite

我想将此帖子命名为使SQLite在发生首次错误时中止,但StackOverflow的AI霸主认为这不符合他们对人类智能行为的理解。作为记录,我完全是在谷歌上搜索,但也许甚至Google AI都认为我的问题不值得,也没有去帮助我。 Mods,可以根据您的AI老板的意愿随意更改标题(如果您能弄清楚的话)。


我有这个脚本

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');

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

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

1 个答案:

答案 0 :(得分:1)

documentation中,您似乎可以打开点命令src/test/resources

  

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

See also-O'Reilly使用Sqlite

修改

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