7

在 MySQL 中我会使用

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

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

4

3 回答 3

14

之前已经回答了这个问题:是否可以在 SQLite 数据库中一次插入多行?

要回答您对 OMG Ponies 的评论,请回答:

从 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."
于 2012-04-06T03:34:18.497 回答
8

使用联合:

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

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

于 2012-04-06T03:25:09.013 回答
5

从版本 2012-03-20 (3.7.11) 开始,sqlite 支持以下 INSERT 语法:

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

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

SQLite INSERT 语句图

于 2013-05-16T16:16:27.587 回答