如上表所示,每个问题都有自己的状态,但仅当status_id = 3
(status=finished
),date_completed
有值时,否则date_completed
应为默认值{ {1}}。
怎么做?
我的意思是如果有很多行,其中status_id不是3,那么date_completed列应为NULL。我不想插入' NULL'一个接一个,我想在status_id不是3时插入它。 但似乎我无法将状态和date_completed分开到另一个表......
答案 0 :(得分:0)
你可以使用像
这样的检查约束alter table tab_name 添加约束check_date CHECK((status_id!= 3 AND status!= finished)时的情况 然后是NULL,否则date_completed end = date_completed);