删除数据库中一行数据id解决自增?

添加删除数据时数据库id递增不会出现空缺像俄罗斯方块消除一行上一行顶下来... 添加删除数据时数据库id递增不会出现空缺像俄罗斯方块消除一行上一行顶下来 展开
 我来答
samismiling
2020-04-28 · 知道合伙人软件行家
samismiling
知道合伙人软件行家
采纳数:1340 获赞数:5604

向TA提问 私信TA
展开全部
不会,自增是独立于数据表存在的,你可以理解为它是一个单独的序列函数,每次insert的时候去这个函数取一下当前的值。该函数只增不减,永远加1。
所以,如果你删除了数据表中的一行记录,那么这个id就再也不存在了。
如果你这时候想要填充这个id也不是没办法。你需要先停止id的自增操作,然后手工insert带所需id的数据,然后再启动自增。
雁西楼
科技发烧友

2020-05-13 · 有一些普通的科技小锦囊
知道小有建树答主
回答量:1118
采纳率:73%
帮助的人:408万
展开全部

自增列在添加记录时,自动按照规则生成一个序号值,删除已有记录,不会影响已经生成的自增值,也不会影响以后生成的自增值。

原则上,自增列是不允许修改的,它的值一旦生成就不会改变。


自增列默认是排除在insert 语句影响的列之外的,即,不能在insert 语句中包含自增列,不能为它指定值。

如果要强制为自增列指定值,需要通过相应的设置命令解除这个限制:

set identity_insert <表名> on

go

insert into <表名>(自增列名,...) values(自增列强制值,...)

go

set identity_insert <表名> off

go

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式