如何在 Sql Server 2008 中设置唯一约束 [重复]
Posted
技术标签:
【中文标题】如何在 Sql Server 2008 中设置唯一约束 [重复]【英文标题】:How to set unique constraint in Sql Server 2008 [duplicate] 【发布时间】:2012-12-20 18:43:09 【问题描述】:可能重复:SQL Server 2005 How Create a Unique Constraint?Add unique constraint in SQL Server 2008 GUI?
我在 Sql Server 2008 中有一个名为 customer 的表。我想在电子邮件字段中添加一个唯一的约束,这样电子邮件就不会重复(不使用查询)。我尝试了如图所示的方式,但无法设置约束。请帮忙。
【问题讨论】:
@JonH 我可以。尝试刷新。 @ean5533 - 我的意思是它太小了,没关系,我去从帖子中抢走了 imgurl。 通过索引和键对话而不是检查约束来完成。 ***.com/questions/64981/… @ean5533 当我以***.com/questions/64981/… 尝试时,在电子邮件列上设置了唯一+主键。我有一个主键 custid .email 字段只需要唯一 【参考方案1】:检查约束用于检查一行中的数据是否与公式匹配 - SSMS 是正确的,您不能在那里有一个空白的论坛。
您要做的是转到 Indexes/Keys 并在电子邮件字段上添加一个新索引并将其设置为 Is Unique=Yes 并输入 Unique Key(如 hvd 所建议的,您也可以从这里创建一个唯一索引通过选择 Type=Index)。
【讨论】:
我认为仅设置“Is Unique”将创建唯一索引,而不是唯一约束。但是可以从同一个窗口添加独特的约束。【参考方案2】:电子邮件不应为 TEXT 类型
【讨论】:
不知道你为什么要提到text
?在 OP 的屏幕截图中,您可以在电子邮件后看到 va
,表明它是 varchar
以防万一如果它是 TEXT 类型,则在您选择时它不会出现在列列表中
啊,明白你的意思了。【参考方案3】:
你可以这样做:
ALTER TABLE Comment ADD CONSTRAINT uc_Comment UNIQUE (CommentId, Comment)
CommentId 是 PK。
我相信它实际上为此创建了一个索引。
【讨论】:
以上是关于如何在 Sql Server 2008 中设置唯一约束 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
sql2005中设置字段属性时,如何设标识列(自增1)和必须唯一
在 Mac 上的 Dbvisualizer 中设置 SQL Server 连接
如何在不使用 Docker 或 Windows Server 2016 上的 Confluent 平台的情况下在 Kafka 中设置 Debezium SQL Server 连接器?