PHP 数据批量插入数据库及更新数据
1、目前批量更新数据的方法有很多种,今天主要介绍的是:
insert into ...on duplicate key update批量更新
2、接下来先介绍基本用法再上代码,
举个例子,字段a被定义为UNIQUE,并且原数据库表table中已存在记录(1,2,2)和(2,2,1),如果插入记录的a值与原有记录重复,则更新原有记录,否则插入新行,如下:
INSERT INTO TABLE (a,b,c) VALUES
(1,3,2),
(2,5,7),
(3,3,3)
ON DUPLICATE KEY UPDATE b=VALUES(b);
则以上语句会将原有的(1,2,2)和(2,2,1)更新为(1,3,2)和(2,5,1),并插入一条新的数据(3,3,3)
3、以下是用php代码实现批量更新,由于需要更新多个字段所以需要用数组接收需要更新的字段值,主要的语句是将其拼接成sql:
$sql = 'INSERT INTO `areas` ('. implode(',', $fields).') VALUES ';
$sql .= implode(',', $values);
$sql .= ' ON DUPLICATE KEY UPDATE ';
$sql .= implode(',', $duplicateFields) . ';';

4、在这过程中,我在本地测试的时候会出现报错,原因:本地用的是navicat数据库,需要在字段名中加单引,不加单引会报错,代码如下:

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:122
阅读量:38
阅读量:127
阅读量:38
阅读量:47