sql 表的主键是自增序列,假如根据id删除一条语句
在SQLserver数据库中一个表的主键是自增序列,假如根据id删除一条语句.(这样的话感觉序列不连续)然后再插入一条语句,要求插入的这条语句插入到删除那条语句的id位置...
在SQL server数据库中 一个表的主键是自增序列,假如根据id删除一条语句.
(这样的话感觉序列不连续) 然后再插入一条语句,要求插入的这条语句插入到删除那条语句的id位置?
或者是此id之后的id号都同时减1?
比如
person 表:
id name age
1 张飒 19
2 李思 20
3 王武 18
4 赵柳 22
5 孙二 21
比如现在我删除id = 3的数据,则变为:
id name age
1 张飒 19
2 李思 20
4 赵柳 22
5 孙二 21
第一种情况: 当我插入一条新的数据时候,把它补充到第三条(即id=3),如果再插入数据,则使其id从5后面递增
id name age
1 张飒 19
2 李思 20
3 倩儿 17 --插入的第一条
4 赵柳 22
5 孙二 21
6 吴俊 22 --插入的第二条
第二种情况: 当我删除id=3的数据的时候,能不能使其后面的id号都同时减1
id name age
1 张飒 19
2 李思 20
3 赵柳 22
4 孙二 21
5 倩儿 17 --插入的第一条
这两种情况能实现吗?如果能,该怎么实现? 展开
(这样的话感觉序列不连续) 然后再插入一条语句,要求插入的这条语句插入到删除那条语句的id位置?
或者是此id之后的id号都同时减1?
比如
person 表:
id name age
1 张飒 19
2 李思 20
3 王武 18
4 赵柳 22
5 孙二 21
比如现在我删除id = 3的数据,则变为:
id name age
1 张飒 19
2 李思 20
4 赵柳 22
5 孙二 21
第一种情况: 当我插入一条新的数据时候,把它补充到第三条(即id=3),如果再插入数据,则使其id从5后面递增
id name age
1 张飒 19
2 李思 20
3 倩儿 17 --插入的第一条
4 赵柳 22
5 孙二 21
6 吴俊 22 --插入的第二条
第二种情况: 当我删除id=3的数据的时候,能不能使其后面的id号都同时减1
id name age
1 张飒 19
2 李思 20
3 赵柳 22
4 孙二 21
5 倩儿 17 --插入的第一条
这两种情况能实现吗?如果能,该怎么实现? 展开
3个回答
展开全部
只要是标识列都不能实现!
如要实现以上的方法,建议采用自定义增量的方式!就是通过触发器来判断,同时新增一张表,来记录ID的使用情况。
如要实现以上的方法,建议采用自定义增量的方式!就是通过触发器来判断,同时新增一张表,来记录ID的使用情况。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
假设删掉id=5的那一条数据 你再插入数据是不会出现5的记录了 会是表里面 最大 ID号 + 1
追问
哦,我懂了! 如果原来最大ID号是5, 我把ID = 5 的数据删除后,下次再插入新的数据,他的ID号就是6了,是吧?
追答
假设原来存在 1 2 3 4 5 6 7 8 9 你删除掉了5以后 再插入 那就变成 1 2 3 4 6 7 8 9 10 了 再插就是 1 2 3 4 6 7 8 9 10 11 了 不再出现5 了 除非你 truncate table tablename 这样才是重新从1 开始
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不太好实现,毕竟涉及到还要修改sequence,在建表的时候为什么不把自增字段独立出来,而且一般在数据库中是要杜绝修改自增字段的,建议新增一字段,来做为序号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询