为什么记录ID自动标识的值会是一个已经使用过的值? 我有个表的主键用自增的ID,一直使用都是不断递增的,经过多次移动数据库后,新插入的ID却不是当前表中最大的,而且使用以前被删除记录的ID值,为什么会这样?用什么方法可以使这个情况不会发生吗?ID的值是必须是绝对唯一的. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可能是表在经过多次移用时,被其他人重置了IDENTITY列的种子.楼主可以使用dbcc checkident来重新设置种子,让ID从新种子开始递增.例如:declare @maxid intselect @maxid = max(标识列) from 表名----让新记录的标识列值从最大ID开始递增dbcc checkident(表名,RESEED,@maxid) 试试看:SET IDENTITY_INSERT允许将显式值插入表的标识列中。语法SET IDENTITY_INSERT [ database.[ owner.] ] { table } { ON | OFF }是不是这个问题 数组转字符串存储后查找数据的性能问题 SQL SERVER 2005 的对象名称最大长度是多少? 关于更新锁理解 对数据进行批量操作 sql一个小问题 一个让我难为的SQL语句 我的项目文件夹的路径显示的是E:\news,但为什么news里面的文件没有全部显示在vs.net的解决方案下面的news项目里? 关于给成绩排名的问题,各位高手帮帮忙 (心急人上) 有难度! 怎样复制sql server的结构而不是数据 简体中文如何写入英文操作系统下的英文mssql数据库,而不乱码? sql的锁的信息保存在哪张表里面?
楼主可以使用dbcc checkident来重新设置种子,让ID从新种子开始递增.例如:
declare @maxid int
select @maxid = max(标识列) from 表名
----让新记录的标识列值从最大ID开始递增
dbcc checkident(表名,RESEED,@maxid)
允许将显式值插入表的标识列中。语法
SET IDENTITY_INSERT [ database.[ owner.] ] { table } { ON | OFF }是不是这个问题