You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server为PersonsTable添加主键时报8111、1750错误如何解决

报错原因

SQL Server的主键约束有两个强制规则:

  • 作为主键的字段必须设置为不允许存储NULL值
  • 主键字段内所有值必须全局唯一,不能存在重复记录

你遇到的Msg 8111是核心报错:当前PersonsTable表的PersonID字段配置为允许NULL值,不符合主键的非空要求,直接导致约束创建失败;后续的Msg 1750是连带提示,说明因前置错误,最终约束或索引没有创建成功。

处理方案

操作前先确认PersonID列不存在NULL值、也没有重复值,否则后续语句会执行失败。从你给出的样例数据看,现有3条记录的PersonID均为唯一非空值,直接执行以下两步SQL即可完成主键设置:

-- 1. 将PersonID字段修改为非空属性
ALTER TABLE PersonsTable
ALTER COLUMN PersonID INT NOT NULL;

-- 2. 为PersonID字段添加主键约束
ALTER TABLE PersonsTable
ADD PRIMARY KEY (PersonID);

如果执行第一步时提示字段存在NULL值,需要先把对应记录的PersonID补全为合法唯一值,或删除异常记录后再执行上述语句;如果存在重复的PersonID值,需要先将重复值处理为唯一值再操作。


内容的提问来源于stack exchange,提问作者user19129062

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 13:57:12