gpt4 book ai didi

sql - 列引用另一列的错误列检查约束

转载 作者:行者123 更新时间:2023-12-04 16:14:55 31 4
gpt4 key购买 nike

我使用 MS SQL 2008 R2,我需要在特定列上创建一个带有 CHECK 的表,但我收到此错误。你能指出我正确的方向吗?谢谢

HeatingSystem   tinyint             NOT NULL
CONSTRAINT CK_ReProperties_HeatingSystem CHECK(Size between 0 and 3),

错误

消息 8141,级别 16,状态 0,第 1 行
列“加热系统”的列 CHECK 约束引用另一列,表“ReProperties”。
消息 1750,级别 16,状态 0,第 1 行
无法创建约束。请参阅以前的错误。

最佳答案

在列级别内联定义的约束只能引用它们旁边定义的列。

将约束定义移动到正确的列旁边或将约束定义移动到表定义的末尾。

失败

CREATE TABLE HeatingSystem
(
Size INT,
HeatingSystem TINYINT CHECK(Size between 0 and 3)
)

成功
CREATE TABLE HeatingSystem
(
Size INT CHECK(Size between 0 and 3),
HeatingSystem TINYINT
)

也成功
CREATE TABLE HeatingSystem
(
Size INT ,
HeatingSystem TINYINT,
CHECK(Size between 0 and 3 AND HeatingSystem BETWEEN 1 AND 10)
)

最后一种方式还允许您声明 row level引用多列的约束。

关于sql - 列引用另一列的错误列检查约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11184398/

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