单的sql插入语句
一次插入一条记录 如下:
INSERT INTO tbl_name (col1,col2) VALUES (15,16);
?想要插入多条记录 我们一般要写多条sql插入语句 如下:
INSERT INTO tbl_name (col1,col2) VALUES (15,16);INSERT INTO tbl_name (col1,col2) VALUES (2,36);INSERT INTO tbl_name (col1,col2) VALUES (25,12);INSERT INTO tbl_name (col1,col2) VALUES (35,13);
?或者利用php语法 写出如下代码
$a = 1;$b = 1;while (5 == $a){ $sql = "INSERT INTO tbl_name (col1,col2) VALUES ($a,$b)"; mysql_query($sql); $a++; $b++;}
?这样写很糟糕 因为每次执行都会执行一次数据库查询
更好的办法是如下代码(具体请参考每个数据库生成的代码片段)
INSERT INTO `userTable` (`user_id`, `user_name`) VALUES(1, 'dsf'),(2, 'fgy'),(3, 'faad');
?
所以我们可以这样改写上面的php代码
$a = 1;while (5 == $a){ if (1 == $a) $sql = "INSERT INTO tbl_name (col1,col2) VALUES ($a,$b)"; else $sql .= ",($a,$b)"; $a++; $b++;}mysql_query($sql);
?
这样我们获得了更高的效率 一次执行插入多条记录
?
?
参考
http://www.karlrixon.co.uk/writing/update-multiple-rows-with-different-values-and-a-single-sql-query/