mysql primary key 多个_关于mysql中primary key重复的解决方法

我们都知道MySQL数据库中是讲究primarykey的唯一性的,如果primarykey出现了重复,则会影响其他的表制定的规则。

eb0ef6a4e8e9ded60f7e456bf84d69fd.png

今天我们要和大家一起分享的是Mysql数据库中primarykey重复时的实际处理方案,我们对其一共分成3个处理方法,以下就是文章的主要内容。

以下的文章主要向大家讲述的是MySQL数据库中primarykey重复时的实际处理方案,我们大家都知道当insert进数据表,经常会发生唯一key(uniquekey与primarykey)重复时,会发生duplicatekey错误。

这种情况有三种处理方法,以下面的数据结构为例子

9826361bf81c87410afa8f5ed1a7bcbf.png

给加上userid列primarykey

576a34a3a196197d6829df3ffd1cd59b.png

插入数据

093ad1013fb673bd2354fee11e851ae4.png

现在我要插入或者编辑userid为1的记录,但我不知道里面是否已经存在该记录.

MySQL数据库中primarykey重复时的实际处理方案1,先删除再插入之

f781f963a3e38f1efbe7e98409177240.png

MySQL数据库中primarykey重复时的实际处理方案2,使用replaceinton

19b595aec5b89c2dee0aba687919d400.png

这种情况下逻辑是这样的,MySQL先判断记录是否存在,若存在则先删除之,再自行insert.所以你能看到这条语句执行后affectedrows是2条(当然前提是你的数据表里userid为1的数据只有1条)

MySQL数据库中primarykey重复时的实际处理方案3,使用

5c1871591cf72c139b69bc8db2a1d134.png

这条语句的affectedrows也是2.

当然还有另外的处理方式就是直接用php来实现,

先select出来,发现没结果则insert,否则update.

还可以先update,发现affectedrows是0,则insert.

但明显这俩种办法都没有把工作直接交给MySQL处理效率高

以上就是我们介绍的处理primarykey重复的三种方案,大家学会了么?

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值