Сделать SQLite прервать при первой ошибке (и петь песни) - PullRequest
0 голосов
/ 25 сентября 2018

Я хотел назвать это сообщение Сделать SQLite прерванным при первой ошибке , но повелители ИИ StackOverflow решили, что это не соответствует их концепции интеллектуального человеческого поведения.Для справки, я гуглил именно это, но, возможно, даже Google 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 завершить выполнение скрипта при первой обнаруженной ошибке?Я ищу эквивалент set -e в Bash.

1 Ответ

0 голосов
/ 26 сентября 2018

Из документации похоже, что вы можете включить точечную команду .bail.

.bail вкл. / Выкл. Стоп после возникновения ошибки.По умолчанию OFF

См. Также - O'Reilly Использование Sqlite

Редактировать

Для выхода вы можете использоватькоманда .exit точка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...