【发布时间】:2015-02-05 18:33:50
【问题描述】:
我想在我的Database 中的表格 中添加一个列。由于该特定 table 中已经存在多个数据,MSSQL 不允许我添加非 Null 字段。所以我可以使用默认关键字来解决这个问题并运行下面提到的Query -
Alter table ServiceDetails
Add OCF_Internal_ID varchar(50) not null default 'OCF';
但现在我想将"OCF_Internal_ID" 字段设为Primary key,并且我需要在该特定字段的每条记录中插入唯一值。请给我任何建议。
如何向所有现有记录添加唯一值?
【问题讨论】:
-
为什么是
varchar(50)而不是数字和identity?还是uniqueidentifier? -
听起来你不在乎价值是什么。你为什么不修改表并添加一个 Int Identity Primary Key Clustered 列而不是一个 varchar(50) ,这会使主键很差。
标签: sql-server sql-server-2008 default-value unique-constraint