ON DUPLICATE KEY UPDATE的用法光速理解

insert插入数据
遇到唯一键或主键冲突时,仍修改这条数据的一个或多个字段。

例子:
1)建表,插入两条数据

drop table if exists t2 ;
CREATE TABLE t2 (
  id int unsigned   NOT NULL 	auto_increment COMMENT '主键',
  sname varchar(60) NOT NULL COMMENT '名字',
  aid int(10) unsigned NOT NULL COMMENT '靓号',
  bid int(11) NOT NULL COMMENT '靓靓号',
  primary key (id)
);


INSERT INTO t2  VALUES
(1,'a',11,111),
(2,'b',22,222);

在这里插入图片描述

2)执行insert的 on duolicate key update 的用法,1、2为冲突数据,3为新数据

INSERT INTO t2  VALUES
(1,'aa',111,1111),
(2,'bb',222,2222),
(3,'cc',33,333)
on duplicate key update   sname=values(sname),aid=values(aid);

3)查询数据,
第3条数据成功插入。
前两条冲突数据,sname、aid发生更新,bid不变。

select * from t2;

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值