我现在没有工作,其具有多个删除标识列,因为它达到INT数据类型的最大极限, 我怎么能插入删除的地点记录而不截断所有的数据?标识列
Q
标识列
2
A
回答
5
你不能“回收”未IDENTITY
价值观 - 如果你已经达到了INT
数据范围的结束,你需要你的ID
栏更改为BIGINT
。
ALTER TABLE dbo.YourTable
ALTER COLUMN YourIDColumn BIGINT
的IDENTITY
属性将被保留 - 现在你有很多可用于未来几个月/几年来额外的ID值的!
3
这似乎很多工作;为什么不把表中的主键(和任何相关表)从int
更改为bigint
?
的int
会给你的2,147,483,647最大值。
一个bigint
会给你一个9,223,372,036,854,775,807最大值。
4
打扰明显...
你是从1开始的,增加1吗?如果是这样,请将标识更改为-1,-1。它需要重建表格,但比改成bigint更容易。并给你另外20亿个ID。
然后规划BIGINT迁移...
相关问题
- 1. RESEED标识列
- 2. 与列标识符
- 3. nHibernate BulkInsert标识列?
- 4. 种子标识列
- 5. java db中的标识列
- 6. 标识列的显式值?
- 7. SSIS中的Reseeding标识列
- 8. 标识列作为主键
- 9. 插入标识表列值
- 10. 标识列不同步
- 11. 使用SSIS的标识列
- 12. MarkLogic文档标识列
- 13. 检索标识列表
- 14. Scala:列表元素的列表(标识)
- 15. SQL Server将列转换为标识列
- 16. 要修改的列不是标识列
- 17. 标识识别3.1
- 18. 如何作弊更新标识列?
- 19. SQL Server 2008 - 标识列跳过行ID
- 20. 插入到具有标识列的表
- 21. 如何跳过标识列的编号?
- 22. 插入到多个表与标识列
- 23. 从另一个表和标识列
- 24. SEVERE:尝试修改标识列'UID'
- 25. SQL标识列增加2或3
- 26. SQL索引标识列排序顺序
- 27. 唯一标识组合列的帮助
- 28. 从表中的列中移除标识
- 29. RadSpreadsheet - 给列一个唯一的标识
- 30. 复制数据,而不标识列