1、mysql:
插入多条记录到同一个表时,可以这样写:
insert into table_name (col1,col2,col3) values (col1_val,col2_val,col3_val),(col1_val2,col2_val2,col3_val2)
如此,便实现了一条插入语句插入多条记录的效果(上面的语句是插入两条记录)。
2、sqlite:
sqlite不支持像mysql这样一条语句插入多条记录。
而sqlite是以文件的形式存在磁盘中,每次访问时都要打开一次文件,如果对数据进行大量操作时,会很慢~
解决办法是用事务的形式提交:因为我们开始事务后,进行大量操作的语句都保存在内存中,当提交时才全部写入数据库,此时,数据库文件也就只用打开一次。
sql语句:
begin;
INSERT INTO "table" VALUES ('a', 'b', 'c');
INSERT INTO "table" VALUES ('a', 'b', 'c');
INSERT INTO "table" VALUES ('a', 'b', 'c');
commit;
php语句:
$i = 0;
$db->beginTransaction();
while ($i<10){
$sql = "INSERT INTO 'table' VALUES ('a', 'b', 'c')";
$db->exec($sql);
$i++;
}
$db->commit();