我有一个由以下SQL定义的表:
CREATE TABLE test ( id integer PRIMARY KEY NOT NULL UNIQUE, status text NOT NULL, enddate date, /* Checks */ CHECK (status IN ("Current", "Complete")) );
我想补充一点,需要约束enddate
为非空当的status
是"完成".
这可能吗?我使用的是SQLite v3.6.16.
怎么样:
CHECK (status = "Current" or (status = "Complete" and enddate is not null))