"SQL logic error or missing database" -error on insert of multiple rows
sql, sqlite
Solution
Since you mention latest version of SQLite, you should use multi-valued insert (supported by SQLite since version 3.7.11), like this:
INSERT INTO mytable (col1, col2, col3) VALUES
(1, 2, "abc"),
(2, 4, "xyz"),
(3, 5, "aaa"),
(4, 7, "bbb");
This is shorter, faster and less prone to errors. This syntax is also supported by some other databases (at least MySQL and PostgreSQL).
Problem
Query : ``` 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" ``` Error : SQL logic error or missing database near "UNION": syntax error Table : ``` 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 ) ``` What is wrong with my query?