微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在SQLite中插入多行

我试图在sqlite(最新版本)表中插入多行,但是会抛出一个错误

HERE得到这个想法,这里是我的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","00:03:51.6770000","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

由于您提到最新版本的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)也支持这种语法.

原文地址:https://www.jb51.cc/sqlite/197578.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐