SQL Server获取自增列的下一个id和重置自增列的初始化值
sql server有内置函数方法,我们可以查询某个表自增列自增到那个值
--查询某个表自增列的最大标识值,语法如下 SELECT IDENT_CURRENT('TableName'); --查询某个表自增类的标识值增量,语法如下: SELECT IDENT_INCR('TableName'); --查询某个表自增列的下个标识值,语法如下: SELECT IDENT_CURRENT('TableName') + IDENT_INCR('TableName');
实际上使用将tableName替换成你自己新建的表名就可以(前提是该表已建立自增列),如下:
--查询指定表(按钮表)的自增列的下个标识值,语法如下: SELECT IDENT_CURRENT('ax_action') + IDENT_INCR('ax_action');
好了,我们查找到自增列下个标识值(23),跟数据表最大id值(228)进行比较,发现数据表存在id为23记录,所有导致报主键重复问题
--查询指定数据表的最新Uid select Max(id) from ax_action;
最后,我们要修改下,系统表内置函数下个标识值重置为329,如何做呢?
--重置指定表的自增列最大标识值,语法如下: dbcc checkident(tableName,reseed,maxVal);
将tableName替换成我们要修复数据表,maxVal替换成重置后的初始值,如下:
--重置指定表(按钮表)的自增列最大标识值为329,语法如下: dbcc checkident(ax_action,reseed,328);
在调用系统内置函数获取指定表自增列的下个标识值
--重置指定表(角色表)的自增列最大标识值为329,语法如下: dbcc checkident(ax_action,reseed,328); --查询指定表(按钮表)自增列的下一个标识值 SELECT IDENT_CURRENT('ax_action') + IDENT_INCR('ax_action');
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?