在 MySQL 中我会使用
INSERT INTO `mytable` (`col1`, `col2`) VALUES
(1, 'aaa'),
(2, 'bbb');
但这会导致 SQLite 出错。SQLite 的正确语法是什么?
在 MySQL 中我会使用
INSERT INTO `mytable` (`col1`, `col2`) VALUES
(1, 'aaa'),
(2, 'bbb');
但这会导致 SQLite 出错。SQLite 的正确语法是什么?
之前已经回答了这个问题:是否可以在 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."
使用联合:
INSERT INTO `mytable`
(`col1`, `col2`)
SELECT 1, 'aaa'
UNION ALL
SELECT 2, 'bbb'
UNION ALL
比 快UNION
,因为UNION
删除重复项 -UNION ALL
没有。
从版本 2012-03-20 (3.7.11) 开始,sqlite 支持以下 INSERT 语法:
INSERT INTO 'tablename' ('column1', 'column2') VALUES
('data1', 'data2'),
('data3', 'data4'),
('data5', 'data6'),
('data7', 'data8');