我有一个名为AdminTest的表,其中CreatedBy列设置为int。在这一点上,我并不真正在乎价值。该值可以是1,2或任何其他值。
我想将列更改为uniqueidentifier:
ALTER TABLE [dbo].[AdminTest] ALTER COLUMN [CreatedBy] UNIQUEIDENTIFIER NOT NULL;
但这失败了。
有什么办法可以使我改变。也许有多个SQL DDL语句?我想创建一个新的顺序GUID,然后将表的每一行的值设置为此新的顺序GUId。如果所有值都相同,那没关系。
现在,我想到的唯一方法就是去。放下该列,添加该列,然后将其设置为新值。这听起来合理吗?如果是的话,我该怎么做?抱歉,我的SQL知识不是很好。到目前为止,我只是使用VS2013 GUI进行尝试。我知道如何打开“ SQL查询”窗口,但不知道如何创建顺序ID并进行设置。
谢谢
您走对了路。只需删除当前列并添加一个新列,默认列为newsequantialid()。
Alter table drop column createdby
Go
Alter table add createdby uniqueidentifier not null default (newsequantialid()) with values
Go
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句