我有一个由以下sql定义的表:
CREATE TABLE test ( id integer PRIMARY KEY NOT NULL UNIQUE,status text NOT NULL,enddate date,/* Checks */ CHECK (status IN ("Current","Complete")) );
我想添加一个约束,如果状态为“完成”,则需要enddate为非空值。
这可能吗?我正在使用sqlite v3.6.16。
怎么样:
CHECK (status = "Current" or (status = "Complete" and enddate is not null))