sql语句 一次查询 进行增加/更新多个记录的方法_PHP_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > PHP > sql语句 一次查询 进行增加/更新多个记录的方法

sql语句 一次查询 进行增加/更新多个记录的方法

 2012/3/22 12:50:56  guangqiang  程序员俱乐部  我要评论(0)
  • 摘要:单的sql插入语句一次插入一条记录如下:INSERTINTOtbl_name(col1,col2)VALUES(15,16);想要插入多条记录我们一般要写多条sql插入语句如下:INSERTINTOtbl_name(col1,col2)VALUES(15,16);INSERTINTOtbl_name(col1,col2)VALUES(2,36);INSERTINTOtbl_name(col1,col2)VALUES(25,12);INSERTINTOtbl_name(col1,col2
  • 标签:方法 SQL SQL语句

单的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/

发表评论
用户名: 匿名