Duplicate entry for key 'PRIMARY'
直播网站的外嵌功能,客户将我们的直播嵌入到他们的网页,而他们的网页进行了点赞活动,有人进行刷票导致并发量
特别大。这时候由于直播网站在嵌入页面也加入了游客身份信息,导致了错误:Duplicate entry for key 'PRIMARY'。
先明确一下我们的业务流程。用户进入直播页面,当用户未登录时就是游客身份,就会自动生成一条游客信息插入游客表。
游客表是共享的,用户关闭网页就会将占用的游客记录释放,只有系统里的游客数量超过数据库中的游客记录数,才会
去生成游客。为了区分游客和会员,游客表使用了负数id作为主键,并不是自增主键。由于系统使用了两台服务器,当并发
量较大时,一台服务器创建了一条游客记录,而另一台服务器也想创建相同id的记录导致了以上的错误。
具体为什么会出现两台服务器同时读到了脏数据,我还没想清楚,大家有什么想法给提一下。
解决方案:
1.嵌入页面去除了用户身份信息,不再创建游客信息。
2.游客表的主键改为自增id,还是使用负id作为区分游客和会员的方式。这样存在一个问题,就是有可能会有重复的游客数据,
需要定期清理重复数据。
不知道大家的系统中使用游客机制时,是如何处理,请大神赐教!
Duplicate entry for key 'PRIMARY'相关推荐
- java向数据库插入数据时的错误: Duplicate entry ‘‘ for key ‘PRIMARY‘ 问题解决
java向数据库插入数据时的错误: Duplicate entry '' for key 'PRIMARY' 问题解决 参考文章: (1)java向数据库插入数据时的错误: Duplicate ent ...
- mysql 出现错误 Duplicate entry for key PRIMARY 解决办法
原来是没有主键的,想增加一列为主键. mysql> desc t111; +-------+-------------+------+-----+---------+-------+ | Fie ...
- java duplicate entry_java向数据库插入数据时的错误: Duplicate entry '' for key 'PRIMARY' 问题解决...
错误提示为:你插入的记录与数据表中原有记录的主键重复了(Duplicate).所以插入失败 mysql主键设置成auto_increment时,进行并发性能测试出现主键反复Duplicate entr ...
- Duplicate entry for key 'PRIMARY'
错误场景: 更新同事代码之后启动报错,代码中的bug 具体的堆栈信息: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolatio ...
- jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry for key PRIMARY异常解决办法
Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry ' ...
- Mysql出现问题:ERROR 1062 (23000): Duplicate entry ‘‘ for key ‘PRIMARY‘解决方案
回城传送–><数据库问题解决方案> ❤️作者主页:小虚竹 ❤️作者简介:大家好,我是小虚竹.Java领域优质创作者
- DataFrame写入mysql时报错Duplicate entry ‘...‘ for key ‘PRIMARY
原因是在执行to_sql函数时.使用的是追加模式(if_exists='append').这时候需要将另一个参数改为(index=False)也就是不将索引作为列名写入.这样就可以了
- 设置navicat数据库主键自增 1062报错以及result in duplicate entry '' for key 'primary'
设置主键自增时,和设置主键时可能有粗心的同学和我一样就是将一个表中的有两个相同值的属性设为主键这时就会报错 解决方法很简单就是保证设置主键属性下的值不能相同即可.
- Duplicate entry...for key...
Duplicate entry...for key...的错误原因是主键的唯一值重复,在对数据库进行修改.插入操作时,一但主键的唯一值重复就会报此错误,有时在表中存在多个主键时,对表操作仍然报此错误, ...
- Duplicate entry ‘***‘ for key ‘UK_mjrobjw9m8n29ou6083ixjxmf‘
后台运行报错Duplicate entry '***' for key 'UK_mjrobjw9m8n29ou6083ixjxmf' 检查sql语句,看数据库里面唯一的字段,你在添加或者修改的时候重复
最新文章
- 【swjtu】数字电路实验6_旋转编码器人机交互电路设计
- python基础-字典
- Kafka 孕育开源 KarelDB
- C#四种相等性判断方法 equals,referenceEquals
- 夸克浏览器怎么安装脚本_iOS 第一浏览器发布安卓版,除了真香我还能说什么...
- 数组初始化使用(写)new与不使用(不写)new
- 定时器控件 Timer 1130
- MyBatis复习(六):MyBatis二级缓存
- 今天中午处理的一笔数据真的是好纠结 好心惊胆战
- redis的zset的底层实现_Redis底层数据结构之 zset
- android加载框效果《IT蓝豹》
- 电路的计算机辅助分析实验报告,电力系统计算机辅助分析实验报告.doc
- 精灵商场项目(三)--商品分类列表+商品CRUD
- 傅里叶变换对照表_实验室仪器中英文及缩写对照表
- PTA 7-18 新浪微博热门话题
- 微软live服务器地址,在Mail中设置windows Live hotmail方法
- 史上最简单的matlab的CRC库函数使用(无繁杂参数)
- 【Junit Experiment】Junit 软件质量测试实验--日期格式规范性+字符串格式规范性
- 数据分析-数据来源、字段类型、数据采集陷阱
- 看果粉如何让拾主自动归还丢失的iPad