Я использую скрипт для создания операторов CREATE для таблиц и хочу вставить эти инструкции в командную оболочку SQLite. К сожалению, он работает не так, как ожидалось, потому что разрыв строки, похоже, вызывает проблемы.Как вставить многострочные операторы SQL в оболочку sqlite3
Когда я скопировать следующий пример таблицы
CREATE TABLE ExampleTable (
columnA INTEGER,
columnB VARCHAR(2),
columnC INTEGER
);
в SQLite командной оболочки, я получаю этот результат:
sqlite> CREATE TABLE ExampleTable (
...>
и оболочка ожидает ввода, пока не будет нажата точка с запятой (;) , Связано ли это с разделителем? Я попытался установить его на ';' вручную, но эффекта не было. Я ожидал, что оболочка примет команды независимо от формата входной строки. Сама же команда работает, например, в Firefox Addon SQLite Manager, также я могу прочитать их из файла. Тем не менее, для быстрого теста я предпочел бы просто вставлять инструкции CREATE. Я уверен, что это очень легко сделать, я просто не мог найти правильный намек. Благодаря!
Вы вставили только первую строку. Это, кажется, проблема с вашим текстовым редактором или оболочкой. –
многозначная вставка, поддерживаемая SQLite с версии 3.7.11. Возможно, у вас более старая версия. – Jaur
@CL: Я скопировал полное определение таблицы, и оболочка sqlite перестала после первой строки, ожидающей ввода. Я могу копировать одни и те же утверждения в оболочку MySQL без этого явления. Моя версия sqlite: SQLite версия 3.9.2 2015-11-02 18:31:45 – Stefan