Azure Data Studio中移除列默认NULL值并添加主键约束的解决方案
解决方法
1. 先清理并处理employeeID列的NULL值
主键列不允许存在NULL值,所以首先要确认列中是否有NULL记录,执行查询:
SELECT * FROM dbo.employee WHERE employeeID IS NULL;
如果查询到有NULL记录,必须先更新这些行,给employeeID分配唯一有效值,示例:
UPDATE dbo.employee SET employeeID = 'FIXED_' + CAST(NEWID() AS VARCHAR(36)) WHERE employeeID IS NULL;
(可根据业务规则替换成符合要求的唯一ID格式)
2. 修改列属性为NOT NULL
处理完NULL值后,修改employeeID列的NULL允许设置:
ALTER TABLE dbo.employee ALTER COLUMN employeeID VARCHAR(120) NOT NULL;
3. 添加聚集主键约束
现在执行主键添加脚本(注意移除employeeID后的多余空格,避免语法错误):
ALTER TABLE [dbo].[employee] ADD PRIMARY KEY CLUSTERED ( [employeeID] ASC )WITH (STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] GO
内容的提问来源于stack exchange,提问作者Nezko1
相关产品推荐
相关产品推荐

