博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql insert出现重复数据
阅读量:6340 次
发布时间:2019-06-22

本文共 341 字,大约阅读时间需要 1 分钟。

由于一开始使用了事务和排它锁所以并未担心出现这样的问题

但是突然发现在没有数据的情况下插入数据会出现重复数据

以为是行锁影响了,将行锁去除后再试竟然没有变化

于是想用其他方式代替select和insert的两条sql

防止重复数据的方法

  1. insert ignore into

  2. on duplicate key update

  3. insert … select … where not exist

  4. replace into

可以上4种都无法解决我的问题,因为我需要获得查询后的id或插入后的id

所以最后尝试什么都不用,只加一个唯一索引

这样担心会报错,所以想如果报错就使用ignore忽略错误,结果没报错

后面在没出现过重复数据,猜测这是mysql解析时的优化。

总结:加上唯一索引足以

转载地址:http://dqeoa.baihongyu.com/

你可能感兴趣的文章
CSS_定位
查看>>
第二十四章:页面导航(六)
查看>>
百度、长沙加码自动驾驶,湖南阿波罗智行科技公司成立 ...
查看>>
10 个 Linux 中方便的 Bash 别名
查看>>
全新 DOCKER PALS 计划上线,带给您不一样的参会体验! ...
查看>>
Android开发之自定义View(二)
查看>>
python爬虫之微打赏(scrapy版)
查看>>
自制操作系统Antz day08——实现内核 (中) 扩展内核
查看>>
poj-1056-IMMEDIATE DECODABILITY(字典)
查看>>
区块链应用 | 不知道什么时候起,满世界都在谈区块链的事情
查看>>
小程序爆红 专家:对简单APP是巨大打击
查看>>
FarBox--另类有趣的网站服务【转】
查看>>
在非纯色背景上,叠加背景透明的BUTTON和STATIC_TEXT控件
查看>>
Distributed2:Linked Server Login 添加和删除
查看>>
Java中取两位小数
查看>>
使用 ftrace 调试 Linux 内核【转】
查看>>
唯一聚集索引上的唯一和非唯一非聚集索引
查看>>
Spark新愿景:让深度学习变得更加易于使用——见https://github.com/yahoo/TensorFlowOnSpark...
查看>>
linux磁盘配额
查看>>
NFS文件共享服务器的搭建
查看>>