sql – 从ints到GUID作为主键移动

前端之家收集整理的这篇文章主要介绍了sql – 从ints到GUID作为主键移动前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用几个带有整数主键的引用表.现在我想将更改为GUID,使所有引用保持不变.最简单的方法是什么?

谢谢!

加成

我一般都了解这个过程,所以我需要更详细的建议,例如,如何填写新的GUID列.使用默认值newid()是正确的,但对于现有的行是什么?

解决方法

>为guid创建一个新列
主表中的值.使用
uniqueidentifier数据类型,制作它
因为newid()默认值不为null
将填充所有现有行.
>创建新的uniqueidentifier列
在子表中.
>运行update语句以使用exisitng int关系构建公会关系以引用实体.
>删除原始的int列.

此外,在数据/索引页面中留出一些空间(指定fillfactor< 100),因为guids不像int identity列那样是顺序的.这意味着插入可以位于数据范围内的任何位置,如果页面已满100%,则会导致页面拆分.

猜你在找的MsSQL相关文章