在mysql数据库中,id为自增字段,现在数据为1~100的数据记录,我将id为50~70的记录删除,请继续看……

在mysql数据库中,id为自增字段,现在数据为1~100的数据记录,我将id为50~70的记录删除,请继续看……,第1张

像你这种,先删除主键和自动增长 再 *** 作,完成之后重新主键就OK咯。

Alter table tb change id id int(10);

Alter table tb drop primary key

//这是添加主键

alter table tb add primary key(id);

关键你的想法根本没有任何价值。第一:如果重新规划标识那么可能出现重复的ID

主要是

DBCC CHECKIDENT ('表名', RESEED, 种子值) 这个怎么用的问题!你的想法还是可以满足的!

------------------------------------------

看如下过程:

USE [NTE]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo][T_A](

[ID] [int] IDENTITY(1,1) NOT NULL,

[Name] [nvarchar](max) COLLATE Chinese_PRC_CI_AS NULL

) ON [PRIMARY]

delete from dboT_A

--这就能保证从1开始

DBCC CHECKIDENT ('dboT_A', RESEED, 0)

insert into dboT_A

select '华萍HP401针线盒' union all

select '推荐魔术师黑色棉服(80)' union all

select '小蚂蚁保暖拼色圆领套Z103(140)' union all

select '小蚂蚁保暖拼色圆领套Z103(150)' union all

select '技术部测试产品' union all

select '品胜(PISEN)“快易充”快速充电器套装' union all

select '品胜(PISEN)“小灵充”快速充电器套装' union all

select '品胜(PISEN)“标准充”充电电池充电器套装' union all

select '品胜(pisen)BN1数码电池' union all

select '品胜LP-E6数码电池' union all

select '品胜BP511数码电池' union all

select '品胜EN-EL9' union all

select '品胜FORPSP110数码电池' union all

select '品胜S005E数码电池' union all

select '品胜(PISEN)数码摄像机/相机充电器Li40B/EL10/NP45(通用)' union all

select '推荐蝴蝶结雪纺边牛仔裙L(黑)'

select from dboT_A

--删除前四个!

delete from dboT_A where id<5

--规划标识从一开始

DBCC CHECKIDENT ('dboT_A', RESEED, 0)

--插入五个吧! 那编号5就重复了!

insert into dboT_A

select '华萍HP401针线盒' union all

select '推荐魔术师黑色棉服(80)' union all

select '小蚂蚁保暖拼色圆领套Z103(140)' union all

select '小蚂蚁保暖拼色圆领套Z103(150)' union all

select '技术部测试产品'

select from dboT_A

--

最后的查询结果是:看看编号 5 是不是重复了!

1 华萍HP401针线盒

2 推荐魔术师黑色棉服(80)

3 小蚂蚁保暖拼色圆领套Z103(140)

4 小蚂蚁保暖拼色圆领套Z103(150)

5 技术部测试产品

6 品胜(PISEN)“快易充”快速充电器套装

7 品胜(PISEN)“小灵充”快速充电器套装

8 品胜(PISEN)“标准充”充电电池充电器套装

9 品胜(pisen)BN1数码电池

10 品胜LP-E6数码电池

11 品胜BP511数码电池

12 品胜EN-EL9

13 品胜FORPSP110数码电池

14 品胜S005E数码电池

15 品胜(PISEN)数码摄像机/相机充电器Li40B/EL10/NP45(通用)

16 推荐蝴蝶结雪纺边牛仔裙L(黑)

5 技术部测试产品

alter table 表名 drop column 自增列名

alter table 表名 add 自增列名 int identity(1,1)

思想就是先删除自增列,再添加一列自增列

不能清零的,除非新建个表,但是这样一来原排序将混乱,如果非要新建表的话试试这两种 *** 作:

1、再弄个编号自己手动编最好,那个自动的就让他做为主键,作为系统 *** 作记录好了

2、在数据表中增设一个字段(例如ID),数据类型设为自动编号,将原自动编号字段删除,增设的字段序号即从新开始.再把新增字段改成刚删除掉那个字段名.如涉及主键,需要把主键改设一下.再改回来.

以上就是关于在mysql数据库中,id为自增字段,现在数据为1~100的数据记录,我将id为50~70的记录删除,请继续看……全部的内容,包括:在mysql数据库中,id为自增字段,现在数据为1~100的数据记录,我将id为50~70的记录删除,请继续看……、sqlserver2005里的数据表,id删除一些数据后,如何让id从1重新开始添加数据、我想让数据库的自增ID在删除中间一条后,后边的ID可以自动连续下来。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10198061.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存