sqlserver2005里的数据表,id删除一些数据后,如何让id从1重新开始添加数据?
sqlserver2005数据库操作:我的test数据库里有一张数据表auser,auser的id是设置为主键的并且是自增的;表里记录了15行数据,我删除了前面的10行数...
sql server2005数据库操作: 我的test数据库里有一张数据表auser,auser的id是设置为主键的并且是自增的;表里记录了15行数据,我删除了前面的10行数据(也就是数据id现在是从10——15),我如何操作才能把数据id改为从1——5,继续自增添加呢?谢谢分享哥,在线等!
展开
1个回答
展开全部
关键你的想法根本没有任何价值。第一:如果重新规划标识那么可能出现重复的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 dbo.T_A
--这就能保证从1开始
DBCC CHECKIDENT ('dbo.T_A', RESEED, 0)
insert into dbo.T_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 dbo.T_A
--删除前四个!
delete from dbo.T_A where id<5
--规划标识从一开始
DBCC CHECKIDENT ('dbo.T_A', RESEED, 0)
--插入五个吧! 那编号5就重复了!
insert into dbo.T_A
select '华萍HP401针线盒' union all
select '推荐魔术师黑色棉服(80)' union all
select '小蚂蚁保暖拼色圆领套Z103(140)' union all
select '小蚂蚁保暖拼色圆领套Z103(150)' union all
select '技术部测试产品'
select * from dbo.T_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 技术部测试产品
主要是
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 dbo.T_A
--这就能保证从1开始
DBCC CHECKIDENT ('dbo.T_A', RESEED, 0)
insert into dbo.T_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 dbo.T_A
--删除前四个!
delete from dbo.T_A where id<5
--规划标识从一开始
DBCC CHECKIDENT ('dbo.T_A', RESEED, 0)
--插入五个吧! 那编号5就重复了!
insert into dbo.T_A
select '华萍HP401针线盒' union all
select '推荐魔术师黑色棉服(80)' union all
select '小蚂蚁保暖拼色圆领套Z103(140)' union all
select '小蚂蚁保暖拼色圆领套Z103(150)' union all
select '技术部测试产品'
select * from dbo.T_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 技术部测试产品
追问
就是不想让出现重复的ID哈,我想法是比如修改第一个id10为1以后,后面的自动变成1——5重新排序啦,就是重新排序哈,id重新排序,不让数据表id(因为删除当中几行数据的原因)出现id数值不连续的情况
追答
还用在说一遍?你的想法没有任何价值。
--
如果你用SQL来做,第一要开启标识可人工指定,第一违反了微软默认规定。
(其次开发周期也较长,如果指定ID主键或许更麻烦)
第二如果希望数据库本身来做,就是我上面的情况。
其次就是不用自增标识。而是简单的数据类型,外围采用程序来判断。这个可能更容易一些。
可以告诉你,使用数据库来做,你已经进入荆棘丛生的道路了。
今至电子科技有限公司
2024-08-23 广告
2024-08-23 广告
数据库备份是确保数据安全与业务连续性的关键环节。我们上海今至电子科技有限公司高度重视数据保护,定期执行全面的数据库备份策略。这包括使用先进工具和技术,对关键业务数据进行自动化备份,并存储在安全可靠的外部存储介质或云端。通过定期验证备份的完整...
点击进入详情页
本回答由今至电子科技有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询