jdbc 插入数据时的重复性验证操作

fslx2008 2007-10-11 09:13:58
jdbc在插入数据前我想验证要插入的数据是否已经存在,存在的话就更新,不存在就插入,应该怎样处理啊?
请用sql例句来说明,谢谢了!
...全文
531 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fslx2008 2007-10-12
  • 打赏
  • 举报
回复
虽然方法笨了些,可是能解决这样的问题,希望有高手能提出更好的解决方法
fslx2008 2007-10-12
  • 打赏
  • 举报
回复
都一天了,也没个准确答案,无奈,自己解决吧:
步骤:
首先把要插入的数据做为条件在遍历要插入的表,并赋值一变量,在遍历结果集时自增,如果变量不变,则无重复数据,如果变量有变化则说明有重复数据存在。
例如:
int count=0;
while(rs.next()){
count++;
}
if(count==0){
System.out.println("无重复数据存在");
}
weaponofpower 2007-10-12
  • 打赏
  • 举报
回复
先Update, 返回操作成功的记录条数;
如果记录条数=0,则insert
fslx2008 2007-10-11
  • 打赏
  • 举报
回复
操作的是oracle的数据库,有相同的记录则更新,否则就插入
china2001ok 2007-10-11
  • 打赏
  • 举报
回复
建立主键
hcmsxy 2007-10-11
  • 打赏
  • 举报
回复

办法1:
先 insert 存在记录必然主键冲突,检查 SQL exception code 如果是主键冲突则再update.


办法2:
使用相应的 SQL.
这样SQL可能每个数据都不相同.
举例 oracle 是 merge 命令,具体使用方法有点复杂你再查一下吧.
mysql 是 replace
REPLACE [LOW_PRIORITY | DELAYED]
[INTO] tbl_name [(col_name,...)]
VALUES (expression,...)

REPLACE功能与INSERT完全一样,除了如果在表中的一个老记录具有在一个唯一索引上的新记录有相同的值,在新记录被插入之前,老记录被删除。
fslx2008 2007-10-11
  • 打赏
  • 举报
回复
自己顶~!!!
havies 2007-10-11
  • 打赏
  • 举报
回复
UP
havies 2007-10-11
  • 打赏
  • 举报
回复
UP

81,114

社区成员

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

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