插入多条数据:
INSERT INTO users(name, age) VALUES('姚明', 25), ('比尔.盖茨', 50), ('火星人', 600);
修改多条数据:
最近oschina上又有朋友问到了mysql中一次更新多条不同的记录的方法,我知道的方法有两种,使用on duplicate key update语法和使用 replace into语法。
这两个语法都需要主键索引或唯一索引支持,下面举例说明。
测试用的表结构和数据
1
CREATE TABLE `t` (
2
`id`int(11)NOT NULL AUTO_INCREMENT,
3
`c1`varchar(50)NOT NULL DEFAULT '',
4
`c2`varchar(50)NOT NULL DEFAULT '',
5
`c3`varchar(50)NOT NULL DEFAULT '',
6
PRIMARY KEY (`id`),
7
UNIQUE KEY `c1` (`c1`)
8
) ENGINE=InnoDB AUTO_INCREMENT=125DEFAULT CHARSET=utf8 ;
9
insert into tvalues(1,2,3,4),(5,6,7,8);
on duplicate key update 语法
1