我试图在SQLite3数据库中执行SQL文件(来自MySQL数据库的转储文件)。
我面临的问题是转储文件有多个插入,SQLite3不处理。
这是一个例子:
INSERT INTO resultset_values (id, o_id, points, descrip, created, createdby, up, upby)
VALUES
(1,1,1,'string1','2011-03-29 11:21:00','user1',NULL,NULL),
(2,1,2,'string2','2011-03-29 11:21:00','user1',NULL,NULL);
这在MySQL中运行良好,但我无法在SQLite3中运行。 有人知道如何在SQLite3中制作多次插入吗? 我的数据库非常大,上面的示例仅用于说明问题。
答案 0 :(得分:0)
这已在此处回答:Is it possible to insert multiple rows at a time in an SQLite database?
显然,this syntax is not supported in SQLite。
你必须转
INSERT INTO resultset_values (id, o_id, points, descrip, created, createdby, up, upby)
VALUES
(1,1,1,'string1','2011-03-29 11:21:00','user1',NULL,NULL),
(2,1,2,'string2','2011-03-29 11:21:00','user1',NULL,NULL);
成:
INSERT INTO resultset_values (id, o_id, points, descrip, created, createdby, up, upby)
VALUES
(1,1,1,'string1','2011-03-29 11:21:00','user1',NULL,NULL);
INSERT INTO resultset_values (id, o_id, points, descrip, created, createdby, up, upby)
VALUES
(2,1,2,'string2','2011-03-29 11:21:00','user1',NULL,NULL);
您应该能够使用自己喜欢的Regex文本编辑器。
<强>更新强>
您也可以尝试将其转换为以下格式:
INSERT INTO resultset_values
SELECT 1,1,1,'string1','2011-03-29 11:21:00','user1',NULL,NULL
UNION SELECT 2,1,2,'string2','2011-03-29 11:21:00','user1',NULL,NULL
UNION ...
但就个人而言,我认为你提出的第一个选项的工作量较少。