Mysql之insert duplicate处理

一、Primary key与Unique key的区别
Unique Key 是唯一主键
Primary key 是主键
Primary key 与UniqueKey都是唯一性约束
区别:
1.Primary key的列必须为NOT NULL 如果列为null,在增加PRIMARY
时,列自动更改为NOT NuLL。而UNIQUE KEY对列没有要求
2.一个表只能有一个PRIMARY KEY,但可以有多个UNIQUE KEY

背景表

CREATE TABLE `user` (
  `id` int(10) NOT NULL,
  `username` varchar(10) DEFAULT NULL,
  `gender` char(2) DEFAULT NULL,
  `age` varchar(10) DEFAULT NULL,
  `worker` varchar(10) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `i_name` (`username`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

在记录不存在时会执行插入操作,有重复记录的话则执行修改命令
INSERT…ON DUPLICATE KEY UPDATE
示例:

insert IGNORE into User (id,username,gender,age,worker) VALUES(2,"AnQi","女","22","wife") on DUPLICATE KEY UPDATE username=VALUES(username),age="22"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值