各位大佬 你们碰到过 网站一旦更新缓存就会往session表插入重复的sid 但是又sid必须是唯一值 就会导致网站报错
使者王 17天前

 

<?php exit;?>   2024-12-16 10:37:10 0.0.0.0 /bbs-1.htm  0  
SQL:INSERT INTO bbs_session (`sid`,`uid`,`fid`,`url`,`last_date`,`data`,`ip`,`useragent`,`bigdata`)
VALUES ('*******************','0','0','bbs-1.htm','1734316630','','0','Mozilla/5.0
(Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36','0')
errno: 23000,
errstr: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate
entry '***********' for key 'bbs_session.PRIMARY'
 
似乎在同一时间有两个并发请求尝试使用相同的 sid (tra2o505vrrveuq1dsiissq5ri) 插入到 bbs_session 表中。这导致了违反主键约束的错误,因为 sid 字段被设置为唯一(或作为主键),不允许重复值。
 
这种情况 是要判断一下是否存在sid 存在就更新 没有就创建
 
还是 如果存在就重新生成一条sid 然后创建
 
哪一种比较好
最新回复 (4)
全部楼主
  • 使者王 楼主
    17天前 2
    0
    ai的回答  表明尝试插入的记录违反了表 bbs_session 的主键约束。具体来说,sid 字段被设置为主键或唯一索引,而值 '9qlm1vla8jub4gro7l6j1bcmil' 已经存在于数据库中,因此不能再次插入相同的 sid。
  • 使者王 楼主
    17天前 3
    0
    我的解决办法 清空bbs_session表
  • Tillreetree 版主
    16天前 4
    0
    “判断一下是否存在sid 存在就更新 没有就创建”这个比较好
  • 资源否
    3天前 5
    0
    我要拿出这帖子奉献给世人赏阅,我要把这个帖子一直往上顶,往上顶!顶到所有人都看到为止! 
返回
使者王
二级用户组
7
主题数
81
帖子数
扫码访问