回答

收藏

从int移到GUID作为主键

技术问答 技术问答 204 人阅读 | 0 人回复 | 2023-09-14

我用整数主键使用几个引用表。现在,我想int更改为GUID,保留所有引用不变。最简单的方法是什么?
) v/ n7 u; J: A0 G; `谢谢!2 V8 n3 l. ^- b, m* s4 i+ b
添加
/ w' A: [- H, S6 S) |' ^我确实知道这个过程,所以我需要更详细的建议,比如如何填写新的GUID列。使用默认值newid()是对的,但是现有的行呢?
  \2 p- ~8 ^5 ]! F* n9 V& M                                                                ) \; ?" c$ k  I% t" K
    解决方案:                                                               
( \* F+ H1 G( C8 f, f, B; ?- a                                                                在主表中为guid创建新列值。uniqueidentifier数据类型并使其不是null,并使用newid()作为默认值,填充所有现有行。
5 N( N" m9 p& e在子表中创造新的uniqueidentifier列。* ^$ u1 f: s2 |' Z2 S
使用操作更新语句exisitng int关系引用实体建立公会关系。& ^. v$ q1 M2 B+ ]. z9 F8 Q- |
删除原始的int列。
另外,由于Guid不像int标识列那样连续,因此请在数据/索引页中保留一些空间(指定fillfactor
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则