如果数据库里面已经有数据了,当再插入一条重复的数据的时候,插不进去,应该怎么判断?最好有代码,谢谢!!!
怎么都难免去数据库查数据的,节哀!
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条件不成立(数据不成立),才会成功插入
先加主键,或唯一索引,插入数据时,加exists 条件,根据影响行数判断是否成功!
如果你想做到数据绝对不重复的话(除了主键以外的字段),那么真的很悲哀啊,再每次插入之前都要去库中遍历已经存在的数据,然后跟你你要插入
的新数据对比,这样真的是太不明智了。我想不明白什么样的需求要这么变态?
直接用Sql查询count()条件是就是以待添加的信息的业务主键为条件,如果非0说明存在记录了。
1,如果数据有主键,可以在数据库中按主键取出数据,如果size为0,则insert;否则update或者不做操作‘
2,如果数据库没有主键,可以按所需字段查询,原理同上;