代码之家  ›  专栏  ›  技术社区  ›  Jigoku

检查一列是否具有特定值,然后通过列表限制另一列

  •  0
  • Jigoku  · 技术社区  · 7 年前

    我想知道是否有任何方法可以让我检查一列是否有值,如果值是XXXXX,那么另一列必须在(a,B,C)列表中。 类似于:

    CREATE TABLE test (a CHAR(60),b CHAR(60),Check (IF a == 'test' THEN b in ('a','b','c')));
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   CL.    7 年前

    换句话说,在 test b 必须在列表中,而在非- 测验 排, 可以是任何东西。

    b 必须在列表中,否则该行不能是 行:

    CHECK (a <> 'test' OR b IN ('a', 'b', 'c'))
    

    在数学上, a → b 与相同 ¬a ∨ b