首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL第二列依赖于第一列值

问SQL第二列依赖于第一列值
EN

Stack Overflow用户
提问于 2012-09-06 13:38:51
回答 2查看 240关注 0票数 1

我有两个栏目的标签

现在,如果我使用值0插入或更新column1,column2应该不接受任何值,并且应该为null

他们有什么办法添加这个约束吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-06 13:56:06

在创建表时,可以通过以下方式添加CHECK约束:

代码语言:javascript
复制
CREATE TABLE tableDemo (
   column1  int, 
   column2  varchar(50),
   CONSTRAINT CK_column1_column2 CHECK ((column1 = 0 AND column2 IS NULL) OR column1 != 0)
)

查看

票数 2
EN

Stack Overflow用户

发布于 2012-09-06 13:42:15

如果您使用的是SQL Server,则可以考虑使用CHECK Constraints

看一下下面的例子

代码语言:javascript
复制
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 #Table
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12293595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档