我有这样一张表
create table emp_post(
   Emp_id             Number,
   Role_id            Number,
   id    primary key  number);
id是自增的,我在插入值的时候怎么控制不插入重复的记录啊(在数据库语言中)

解决方案 »

  1.   

    oracle中是创建一个序列sequence,通过sequence得增长来实现得
      

  2.   

    你把它设为primary key不就可以了,不可能会重复。
      

  3.   

    设primary key的方法不好, 有id存在的情况下, 会报错, 则新插入的记录会丢失;
    赞成yaanzy(菩提老祖) 提的sequence
      

  4.   

    就是用yaanzy(菩提老祖)说的那样,建序列
      

  5.   

    创建系列是可以实现id自增,这我交给<generator class="increment" />来解决了.
    但是插入值的时候还是可以有重复记录啊.
    它依然可以存在:
    emp_id  role_id  id
    201     111101   1
    201     111101   2
    201     111101   3
    201     111101   4
      

  6.   

    从数据库存放的角度,除了设成primary key之外,也没有别的办法了至于是否重复,是你自己程序逻辑的问题!
      

  7.   

    不过,你的这个表,用emp_id,role_id做联合主键就可以了!
      

  8.   

    对了, 应该用个联合主键的
    thanks!