gpt4 book ai didi

sql - 更改表并添加 UNIQUE 键会导致错误

转载 作者:行者123 更新时间:2023-12-02 04:35:15 28 4
gpt4 key购买 nike

我有一个名为Animal的表。 AnimalId 是主键,我想将 AnimalType_id 列设置为 UNIQUE(我有一个 AnimalType 表,需要在此处设置外键)

ALTER TABLE Animal
ADD UNIQUE Animal.AnimalType_id int

两个表中已经有数据,因此我无法删除该表。

但这会导致错误:

Msg 102, Level 15, State 1, Line 2
Incorrect syntax near '.'.

最佳答案

请参阅documentation了解如何添加表约束。

ALTER TABLE Animal ADD CONSTRAINT UQ_Animal_AnimalTypeId UNIQUE (AnimalType_id)

听起来 AnimalType_id 是一个外键,所以我只是想检查您是否理解,通过使该列唯一,您将建立一对一的关系 - 您只能拥有每种类型的一种动物。

由于您在添加唯一约束时遇到错误,我建议您实际上需要外键而不是唯一约束:

ALTER TABLE Animal
ADD CONSTRAINT FK_Animal_AnimalType
FOREIGN KEY
(
AnimalType_id
)
REFERENCES AnimalType
(
id
)

我必须猜测 AnimalType 表名称及其主键列名称 - 如果不正确,请更改它们。

关于sql - 更改表并添加 UNIQUE 键会导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10749382/

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