Ale*_*yev 7 sql sql-server database-design
我使用几个带有整数主键的引用表.现在我想将更改为GUID,使所有引用保持不变.最简单的方法是什么?
谢谢!
加成
我一般都了解这个过程,所以我需要更详细的建议,例如,如何填写新的GUID列.使用默认值newid()是正确的,但对于现有的行是什么?
And*_*nes 11
此外,在数据/索引页面中留出一些空间(指定fillfactor <100),因为guids不像int identity列那样是顺序的.这意味着插入可以位于数据范围内的任何位置,如果页面已满100%,则会导致页面拆分.
首先:亲爱的上帝为什么?!?!?
其次,您必须首先将 GUID 列添加到所有表中,然后根据 int 值填充它们。完成后,您可以将 GUID 设置为主键/外键,然后删除 int 列。
要更新值,您可以执行以下操作
.
UPDATE foreignTable f
SET f.guidCol = p.guidCol
FROM primaryTable p
WHERE p.intCol = f.intCol
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3079 次 |
| 最近记录: |