当另一列具有特定值时,列上的 NOT NULL 约束
Posted
技术标签:
【中文标题】当另一列具有特定值时,列上的 NOT NULL 约束【英文标题】:NOT NULL constraint on a column when another column has a particular value 【发布时间】:2014-05-25 06:02:11 【问题描述】:create table test (
col1 varchar(20),
col2 varchar(20)
)
-
当 col1 的值为“1”时,col2 不能为空。
当 col1 有任何其他值时,col2 可以为 null。
有没有办法根据特定列的值编写检查约束?
【问题讨论】:
【参考方案1】:你可以写一个表级的约束,当然。
CREATE TABLE test (
col1 VARCHAR(20),
col2 VARCHAR(20),
CHECK (col1 != '1' OR col2 IS NOT NULL)
);
要么col1
不是'1'
(col2 可以是任何东西),要么col1
是'1'
(并且col2
不能为空)。
请参阅third example in the manual。
【讨论】:
以上是关于当另一列具有特定值时,列上的 NOT NULL 约束的主要内容,如果未能解决你的问题,请参考以下文章
当另一个框在excel(VBA)中具有特定值时,如何引用msgBox中的单元格。