如何插入多行成一个SQLite 3表?(How to insert multiple rows in

2019-07-28 20:39发布

在MySQL中我会使用

INSERT INTO `mytable` (`col1`, `col2`) VALUES
  (1, 'aaa'),
  (2, 'bbb');

但这会导致在SQLite的错误。 什么是SQLite的正确的语法?

Answer 1:

这之前已经在这里找到答案: 是否有可能在SQLite数据库一次插入多行?

要回答OMG小马回答您的评论:

由于3.7.11版本的SQLite不支持多行插入。 理查德·希普评论:

"The new multi-valued insert is merely syntactic suger (sic) for the compound insert. 
There is no performance advantage one way or the other."


Answer 2:

使用UNION:

INSERT INTO `mytable` 
 (`col1`, `col2`) 
SELECT 1, 'aaa'
UNION ALL
SELECT 2, 'bbb'

UNION ALL比快UNION ,因为UNION消除重复- UNION ALL没有。



Answer 3:

从2012-03-20版本(3.7.11)开始时,SQLite支持以下插入语句:

INSERT INTO 'tablename' ('column1', 'column2') VALUES
  ('data1', 'data2'),
  ('data3', 'data4'),
  ('data5', 'data6'),
  ('data7', 'data8');

阅读文档: http://www.sqlite.org/lang_insert.html



文章来源: How to insert multiple rows into a SQLite 3 table?