日期:2014-05-17  浏览次数:20729 次

有关oracle表中记录唯一的约束建立问题
目前有一张表

id,username,realname
1, pro1 ,张三
2, pro2 ,李四
3, pro3 ,王五

id列因为已经建立了主键,所以唯一,但是username如何保持他的唯一性?

我在记录插入前先通过查询判断该用户名是否已存在,但是偶尔还是会出现重复的问题,添加的时候记录日志里面显示两条记录是同一时间添加的,很纳闷为什么会出现这问题。


------解决方案--------------------
给username这个列加一个唯一约束呗
alter table t add UNIQUE (username)
------解决方案--------------------
给username这个列加一个唯一约束呗
alter table t add constraint uni_pk UNIQUE (username);

--产生的原因由于并发查询。

------解决方案--------------------
探讨
id列因为已经建立了主键,所以唯一,但是username如何保持他的唯一性?

------解决方案--------------------
建个unique index 就可以了

create unique index idx_username on table_name (
username asc
)