在不动用sp_configure的情况下,如何 =》去掉列的自增长,并保留原数据
异常处理汇总-数据库系列 http://www.cnblogs.com/dunitian/p/4522990.html
后期博客首发:http://dnt.dkill.net/Article/Detail/317
应用场景:权限不够(只是某个用户,权限很低,不能使用sp_configure)
执行
附录:
1 2 3 4 | update BackupShopMenu set TempId=MId alter table BackupShopMenu drop column MId exec sp_rename 'BackupShopMenu.TempId' , 'MId' , 'column' alter table BackupShopMenu alter column MId int not null --如果你的字段是可以为null就不需要这段了 |
网上参考:
如何用sql语句去掉列的自增长(identity)
**无法通过alter把现有自增字段改为非自增
比如alter table a alter id int,自增属性不会去掉
通过修改系统表可以做到(此法可能有不可预知的结果,慎之...)
sp_configure 'allow updates ', 1
GO
reconfigure with override
GO
update syscolumns set colstat = colstat & 0x0000
where id=object_id( '表名 ') and name= '字段名 '
GO
sp_configure 'allow updates ', 0
---------------------------------------------
--折中的办法
alter table a add xxx int
update a set xxx=id
alter table a drop column id
exec sp_rename 'xxx ', 'id ', 'column '
---------------------------------------------
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异