我有两个栏目的标签
现在,如果我使用值0插入或更新column1,column2应该不接受任何值,并且应该为null
他们有什么办法添加这个约束吗?
发布于 2012-09-06 13:56:06
在创建表时,可以通过以下方式添加CHECK约束:
CREATE TABLE tableDemo (
column1 int,
column2 varchar(50),
CONSTRAINT CK_column1_column2 CHECK ((column1 = 0 AND column2 IS NULL) OR column1 != 0)
)查看
发布于 2012-09-06 13:42:15
如果您使用的是SQL Server,则可以考虑使用CHECK Constraints
看一下下面的例子
CREATE TABLE #Table(
column_1 INT,
column_2 VARCHAR(250)
)
ALTER TABLE #Table
ADD CONSTRAINT chkRow CHECK ((column_1 = 0 AND column_2 IS NULL) OR column_1 != 0)
INSERT INTO #Table SELECT 0, NULL
INSERT INTO #Table SELECT 0, 'TEST'
INSERT INTO #Table SELECT 1, 'TEST'
UPDATE #Table
SET column_1 = 0
WHERE column_1 = 1
SELECT *
FROM #Table
DROP TABLE #Tablehttps://stackoverflow.com/questions/12293595
复制相似问题