1. 程式人生 > >SQLite一條SQL語句插入多條記錄,批量插入

SQLite一條SQL語句插入多條記錄,批量插入

為了減少資料庫連線的I/O開銷,一般會把多條資料插入放在一條SQL語句中一次執行。
以前用Mysql做開發一直是這樣用的:
INSERT INTO TABLE(col1, col2) VALUES(val11, val12), (val21, val22) ;
最近用SQLite才發現這個語法並非標準SQL,故而SQLite並不支援。經過一番查詢,發現如下方法可以替代:
INSERT INTO TABLE(col1, col2) SELECT val11, val12 UNION ALL SELECT val21, val22 ;
這樣的寫法是屬於複合SQL語句,表示先把兩個SELECT的結果集進行無刪減的聯合,再把聯合結果插入到TABLE中。