一尘不染

条件SQLite检查约束?

sql

我有一个由以下SQL定义的表:

CREATE TABLE test (
  id       integer PRIMARY KEY NOT NULL UNIQUE,
  status   text NOT NULL,
  enddate  date,
  /* Checks */
  CHECK (status IN ("Current", "Complete"))
);

我想添加一个约束, 如果* 该约束为“ Complete”, 该约束enddate必须为非null 。 *status

这可能吗?我正在使用SQLite v3.6.16。


阅读 158

收藏
2021-03-17

共1个答案

一尘不染

怎么样:

CHECK (status = "Current" or (status = "Complete" and enddate is not null))
2021-03-17