在MySQL中我会使用
INSERT INTO `mytable` (`col1`, `col2`) VALUES
(1, 'aaa'),
(2, 'bbb');
但这会导致SQLite出错。 SQLite的正确语法是什么?
答案 0 :(得分:14)
此前已经回答过:Is it possible to insert multiple rows at a time in an SQLite database?
回答您对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."
答案 1 :(得分:8)
使用UNION:
INSERT INTO `mytable`
(`col1`, `col2`)
SELECT 1, 'aaa'
UNION ALL
SELECT 2, 'bbb'
UNION ALL
比UNION
更快,因为UNION
会删除重复项 - UNION ALL
没有。
答案 2 :(得分:2)
从版本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