Подтвердить что ты не робот

Вставка нескольких строк в SQLite

Я пытаюсь вставить несколько строк в таблицу SQLite (последняя версия), но выдает ошибку

получила идею от ЗДЕСЬ и вот мой запрос sql:

INSERT INTO "Track"
SELECT "Leonard Collections" AS "Album",
       "Instrumental" AS "Artist",
       "00:02:59.3800000" AS "Duration",
       "1/1/0001 12:00:00 AM" AS "ReleasedDate",
       "If You Love Me" AS "Title",
       "False" AS "IsPlayableOnLocal"
UNION
SELECT "Leonard Collections",
       "Instrumental",
       "00:02:56.6930000",
       "1/1/0001 12:00:00 AM",
       "Espoir",
       "False",
UNION
SELECT "Leonard Collections",
       "Instrumental",
       "00:03:51.6770000",
       "1/1/0001 12:00:00 AM",
       "Don't Cry For My Argentina",
       "False"

но он бросает

SQL logic error or missing database

near "UNION": syntax error

это моя структура таблицы

CREATE TABLE Track 
(
    ID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL , 
    Album VARCHAR(100) NULL , 
    Artist VARCHAR(255) NOT NULL DEFAULT "Artist Unknown", 
    Duration VARCHAR(255) NOT NULL , 
    LocalPath VARCHAR(255) NULL , 
    ReleasedDate DATE NOT NULL , 
    Title VARCHAR(255) NULL , 
    IsPlayableOnLocal INTEGER NOT NULL , 
    Rating VARCHAR(255) NULL
)

есть ли проблема с моим запросом?

любая помощь будет оценена.

ТИА

4b9b3361

Ответ 1

Поскольку вы упоминаете последнюю версию SQLite, вы должны использовать многозначную вставку (поддерживаемую SQLite с версии 3.7.11), например:

INSERT INTO mytable (col1, col2, col3) VALUES
    (1, 2, "abc"),
    (2, 4, "xyz"),
    (3, 5, "aaa"),
    (4, 7, "bbb");

Это меньше, быстрее и менее подвержено ошибкам. Этот синтаксис также поддерживается некоторыми другими базами данных (по крайней мере, MySQL и PostgreSQL).

Ответ 2

В вашем втором заявлении союза у вас есть суперплотный символ "," после "False". Это, скорее всего, проблема.