请教:用Java怎么判断插入数据库里面重复的数据,描述如下:

如果数据库里面已经有数据了,当再插入一条重复的数据的时候,插不进去,应该怎么判断?最好有代码,谢谢!!!

7个回答

1,如果数据有主键,可以在数据库中按主键取出数据,如果size为0,则insert;否则update或者不做操作‘
2,如果数据库没有主键,可以按所需字段查询,原理同上;

1.数据库的表,设置关键字段的唯一约束。若违反唯一约束,则插入时抛出异常,程序处理异常即可

2.采用sql去重插入的方式来进行数据录入
比如:INSERT INTO select_class(student_number,class_number,score)
select 4,0,100 from dual where NOT EXISTS (select student_number from select_class where student_number=4 and class_number=0 and score=100)
只有在where条件不成立(数据不成立),才会成功插入

stupidkid521
六犇犇 单独写sql遇到索引冲突的话需要一层层处理异常
大约一年之前 回复

怎么都难免去数据库查数据的,节哀!

楼上写得可能复杂点,我再重申遍吧,楼主的目的就是为了保证数据的唯一,你可以插入之前先去数据库count下,然后根据结果决定你是否要新增!!!

先加主键,或唯一索引,插入数据时,加exists 条件,根据影响行数判断是否成功!

如果你想做到数据绝对不重复的话(除了主键以外的字段),那么真的很悲哀啊,再每次插入之前都要去库中遍历已经存在的数据,然后跟你你要插入
的新数据对比,这样真的是太不明智了。我想不明白什么样的需求要这么变态?

直接用Sql查询count()条件是就是以待添加的信息的业务主键为条件,如果非0说明存在记录了。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问