Я запускаю sqlite3 версии 3.7.7, unix 11.4.2 с помощью этой команды:
sqlite3 auction.db
где auction.db еще не создан.
sqlite> auction.db < create.sql;
дает мне эту ошибку: near "auction": syntax error
Как запустить script?
Ответ 1
Есть много способов сделать это, один из способов:
sqlite3 auction.db
Далее следуют:
sqlite> .read create.sql
В общем, проект SQLite имеет действительно фантастическую документацию! Я знаю, что мы часто добираемся до Google перед документами, но в случае SQLite документы действительно являются техническими письмами в лучшем виде. Он чист, ясен и краток.
Ответ 2
Вы хотите передать create.sql в sqlite3 из оболочки, а не из самого SQLite:
$ sqlite3 auction.db < create.sql
SQLite версия SQL не понимает < для файлов, ваша оболочка делает.
Ответ 3
Чтобы выполнить простые запросы и вернуться в оболочку script, я думаю, что это хорошо работает:
echo 'SELECT * FROM some_table;' | sqlite3 example.db