您的位置:首页 > 其它

ORA-00001: 违反唯一约束条件 的发送场景与解决方案?

2016-12-02 13:44 393 查看
http://stackoverflow.com/questions/11296361/how-to-create-id-with-auto-increment-on-oracle    

第一, 如果不是primary key id duplicated,那么只能说这个记录确实已经存在了;

第二,如果是主键冲突,那么情况就多了:

主键是String类型的, 这个必然会发生冲突,改成number型
主键是number型,sequence发生模式是cycle型,同是max又设置太小,这个好解决

主键是number型,oracle是12版本前的,那么使用的是sequence,allocationSize是不是太小了?
主键是number型,oracle是12版本前的,那么使用的是sequence,allocationSize大小合适,但是不是多个表共用同一个sequence?

主键是number型,oracle是12版本前的,那么使用的是sequence,allocationSize大小合适,独立sequence,那么是不是使用事务处理?

如果是使用事务处理,如果一次request请求大批量的insert操作,那么情况就又分很多种了,比如容器事务?JTA事务?或者JDBC事务?还是说内存溢出导致rollback,可这个溢出又可以分成很多层次?
第三,如果是自增长sequence失效的问题,那么在@SequenceGenerator中加入allocationSize
= 1就可以了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐