回答

收藏

添加一个uniqueidentifier列并添加默认值生成新的guid

技术问答 技术问答 51 人阅读 | 0 人回复 | 2023-09-13

我有以下SQL命令:! B) X2 j: |( c, V! G, @
ALTER TABLE dbo.UserProfilesADD ChatId UniqueIdentifier NOT NULL,UNIQUE(ChatId),CONSTRAINT "ChatId_default" SET DEFAULT newid()我希望这个列是唯一的,我希望它能在每次向表中添加一行时产生新的guid。此列不是IDENTITY列,因为我已经有一个了。这是分开的。我将如何将列添加到已经有用户的表中。
/ Q1 K8 _( L, D" ?# W* t                                                               
# S4 m& \& r: k7 N. I) C) e+ @' b    解决方案:                                                               
5 U( C; d2 z% _, b                                                                看这个例子:
2 Q- Q+ v( M7 k7 z% dcreate table test (mycol UniqueIdentifier NOT NULL default newid(),name varchar(100))insert into test (name) values ('Roger Medeiros')select * from test在填充表格上添加非非null你需要这样做的字段。7 p& a2 N- Z/ C
alter table test add mycol2 UniqueIdentifier NOT NULL default newid() with valuesCREATE UNIQUE NONCLUSTERED INDEX IX_test ON dbo.test(mycol) WITH( STATISTICS_NORECOMPUTE = OFF,IGNORE_DUP_KEY = OFF,ALLOW_ROW_LOCKS = ON,   ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则