gpt4 book ai didi

default-value - SQL : Create new column with default, 唯一值

转载 作者:行者123 更新时间:2023-12-04 06:33:52 27 4
gpt4 key购买 nike

我在一个名为 Activity 的表中添加了一个名为 Ordinal 的新列。问题是我给了它一个 UNIQUE 约束,将它设置为允许 NULL(尽管我最终不会想要这个。我只需要将它设置为那个以使脚本更进一步),并没有给它一个默认值。我现在正在运行一个 RedGate SQL 比较脚本,该脚本是通过将此表与没有该列的 Activity 表版本进行比较而生成的。但我收到以下错误:

CREATE UNIQUE INDEX 语句终止,因为发现对象名称“iwt.Activity”和索引名称“IX_Activity”的重复键。重复键值为 (1)。

所以根据我的研究,它试图在 Ordinal 列上创建一个唯一的键约束,但 NULL 不是唯一的。所以我的下一步是给它一个唯一的值 1 只是让脚本通过。但是 1 也不会是唯一的。所以,最后,我的问题:

最好在 SQL Server Management Studio 中,如何将列设置为具有唯一的默认值?这不是我创建这个约束所需要的吗?

谢谢。

最佳答案

试试这个:
创建列时,NULL 将是第一个约束。
UNIQUE 将作为添加约束,您应该添加第二个约束。
他们可以毫无问题地按此顺序运行(经过测试):

--first constraint
alter table Table_Name
add Column_Name int null

--second constraint
alter table Table_Name
add constraint Constraint_Name unique (Column_Name)

关于default-value - SQL : Create new column with default, 唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7148363/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com