对数据处理出错了,为什么会出现两条同样的记录

amirror 2004-07-28 05:39:58
我用java和mysql对数据表操作的时候出现如下错误:

我是以Id为关键字的用户表,我是先判断一个用户是否存在,如果不存在就插入一条新记录,但是我现在对我的数据库统计时发现,数据表中的数据有问题,同样一个用户在表中有两条记录的还不少,甚至有出现20多条记录 比如:

id mobile serverid ordertime status
4300 13455254183 1004 2004-07-08 16:35:52 1
5638 13455254183 1004 2004-07-13 10:30:02 1

本来对13455254183这个用户号应该只有一条,可是出现了两条。这个是怎么回事

是不是我要把插入方法处理做同步处理?还是哪里出错了,望指教
...全文
133 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
registered 2004-07-30
  • 打赏
  • 举报
回复
加约束是可以的,可是从处理逻辑上“我是先判断一个用户是否存在,如果不存在就插入一条新记录” 应该是没有错的吧
----------------------------------------------------------
关键是看你怎么来判断这个用户是否存在
如果通过电话号码判断不应该出现重复的电话号码
如果你是通过别的判断就有可能重复了
toabel 2004-07-29
  • 打赏
  • 举报
回复
从处理逻辑上“我是先判断一个用户是否存在,如果不存在就插入一条新记录” 应该是没有错的吧
------------
逻辑是没有错,如果出错了,只能说是你判断错了,也就是说存在的用户你没有判断出来。还是把你判断的代码贴出来看看吧。
amirror 2004-07-29
  • 打赏
  • 举报
回复
加约束是可以的,可是从处理逻辑上“我是先判断一个用户是否存在,如果不存在就插入一条新记录” 应该是没有错的吧
registered 2004-07-28
  • 打赏
  • 举报
回复
你应该加个 主键
或者加几个 约束
amirror 2004-07-28
  • 打赏
  • 举报
回复
用户是否存在的判断是 通过mobile 和 status 来判断的
nwsl 2004-07-28
  • 打赏
  • 举报
回复
你是用id作为判断的依据,肯定可以再加入进去。如果是用call number作为依据,应该没问题。
happyegg 2004-07-28
  • 打赏
  • 举报
回复
把你插入判断的代码贴上来才能知道你哪里错了

62,622

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧