新建的表通过select setval('blue_item_id_seq',1001,false); 设置自增id为1001, 如果此时带id插入一条数据id=1003,再次不带id插入数据时,seq的自增正好1003会冲突,但是强制使用数据库自增id就没办法指定id插入数据了,有没有啥解决方案呢?
主动插入id的做法和使用id自增的思路肯定是矛盾的。所以并不是从技术上去穷尽办法去解决一个业务上没思考清楚的问题。应该从源头上解决这中矛盾的做法。
1 这个问题在个别场合里会有碰到。基本用的都是分开区域的处理方法。比如:你可以 把select setval('blue_item_id_seq',100000000,false);设置很大1亿开始的。自动插入的都是1以后的数据,自增的都是都是自己的值(这个值的范围都是 1- 1000万以内的)
还有个可以解决的问题:比如一个集团的公司,每个子公司内部的编号都是先从1 开始,这样也会有你说的雷同现象,那么就建立n个seq 每个部门自己用自己的,在前面加不同的字母标示,这用id这个类型要建立字符型的。这种不是很常见,一般在多系统整合时候会碰到。
关于TWT使用指南社区专家合作厂商入驻社区企业招聘投诉建议版权与免责声明联系我们 © 2024talkwithtrend — talk with trend,talk with technologist京ICP备09031017号-30