在SQLite中插入多行
我试图在SQLite(最新版本)表中插入多行,但抛出了一个错误 这是我的sql查询:在SQLite中插入多行,sql,sqlite,Sql,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 M
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
)
我的查询有问题吗
任何帮助都将不胜感激
TIA在你的第二份工会声明中,你在“False”之后加上了superflous“,”字符。这很可能就是问题所在。既然您提到了SQLite的最新版本,那么您应该使用多值插入(自3.7.11版起由SQLite支持),如下所示:
INSERT INTO mytable (col1, col2, col3) VALUES
(1, 2, "abc"),
(2, 4, "xyz"),
(3, 5, "aaa"),
(4, 7, "bbb");
这是更短,更快,更不容易出错。其他一些数据库(至少MySQL和PostgreSQL)也支持这种语法。SQLite版本是否依赖于设备?是和否。SQLite是一个库。如果您使用的是(较旧的)共享SQLite库,那么它将依赖于它。但是,您可以对较新版本使用静态链接,以避免与设备相关的可能的副本