请问:
如何实现Oracle主键自增(网络上有很多例子,很简单),
但是我的问题是:
如果id为1,2,...10,13,14,...50。(其中id=11,12)被删除了。oracle自增的时候会先用11,12,再用51,52,...吗?谢谢!

解决方案 »

  1.   

    打个比方嘛,呵呵。15 位升 18 位好比就是从一个 Schema 导到另一个 Schema 中去,主键重编,哈哈。
      

  2.   

    主键使用中还需要考虑一点:如果今后有可能进行多库多表数据合并,为了避免数据表合并后的主键冲突,那么这些表的主键就不能使用独立的 Sequence 产生,应改为 UUID 或者有可能合并的表采用同一个 Sequence 产生主键,以保证全局唯一性,
      

  3.   

    产生下一个主键,数据库首先获取最大的主键值,然后+1,所以应用程序在使用自增主键的时候,一方面可能也会长生冲突,另外一个方面速度比较慢,选择uuid一般可以避免上述问题。