如何在oracle中删除id后 再次让id连续
比如我删除了id为1,3,5的数据后
再次查询 id就不再试从1开始了,而是从2
请教各位 如何做到
id是一个唯一值,最好的处理方式就是一次写入永不更改。你的改动会带来级联效应,系统中所有涉及到这个表的外键都要更改。而你改动了这个值有什么好处呢?你这个改动就像一个城市的车牌因为其中一个号码报废了,所有的后续车牌都要递减一个号码一样。有意义么?
[quote]
比如我删除了id为1,3,5的数据后
再次查询 id就不再试从1开始了,而是从2
[/quote]
你把1删掉了,查询从2开始有什么问题嘛???????
你是不是想问插入数据啊?
1,2,3,4,5把5这条记录删掉了,再插入一条ID是6。
这种情况是因为ID交给secquence管理,secquence只增不减。
[quote]
我是想说 当你删除1,3,5之后
在查询的时候
id 还是按照1,2,3,4,5这样排序
而不是2,4,6,7,8,9
[/quote]
还是不明白你说什么。。。。。
什么叫删除了1,3,5还是按1,2,3,4,排序。。。1不是删掉了么?
前两天刚回答了一个同样的问题,这么做是不好的……
那不是说 你每删除一个数据,这个列表的ID都要通过某个操作来更新一把ID?如果这个ID是某个表的外键,那部是代表着,删除这个ID同时要对多个表的关联值进行改变?如果删除动作频繁,这样做好吗?
明白你的意思了,你就是想让ID永远都连续。
这个应该不能自动完成,要你手动去做了。
但是你这样做有什么意思呢?