在 SQLite 中插入多行 [英] Insert multiple rows in SQLite
本文介绍了在 SQLite 中插入多行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图在 SQLite(最新版本)表中插入多行但抛出错误
I am trying to insert multiple rows in a SQLite (latest version) table but throws an error
这个想法来自 这里 这是我的 sql 查询:
got the idea from HERE and here is my sql 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"
但它抛出
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 版本开始支持),像这样:
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");
这更短、更快且更不容易出错.其他一些数据库(至少 MySQL 和 PostgreSQL)也支持这种语法.
This is shorter, faster and less prone to errors. This syntax is also supported by some other databases (at least MySQL and PostgreSQL).
这篇关于在 SQLite 中插入多行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文