【发布时间】:2022-01-13 20:04:10
【问题描述】:
我正在使用 SQL Server 并尝试添加列和检查约束。我发现以下工作:
ALTER TABLE table.column
ADD isTrue BIT
GO
ALTER TABLE table.column
ADD CONSTRAINT CK_table_isTrue CHECK ((isTrue = 1 AND column1 = 0 AND column2 = 0 AND column3 IS NULL) OR isTrue = 0)
但是,一种不那么冗长的写法是行不通的:
ALTER TABLE table.column
ADD isTrue BIT
CONSTRAINT CK_table_isTrue CHECK ((isTrue = 1 AND column1 = 0 AND column2 = 0 AND column3 IS NULL) OR isTrue = 0)
输出如下错误:
列 'isTrue' 的列 CHECK 约束引用另一列,表 'table'。
查看文档,所以我无法确定为什么会这样
【问题讨论】:
-
什么是“不起作用”。意思是?你有错误吗?如果是这样,错误是什么?
-
将编辑上面的问题!但错误如下:`列'isTrue'的列CHECK约束引用另一列,表'table'。`
标签: sql sql-server tsql alter-table check-constraints