【发布时间】:2020-06-15 10:14:40
【问题描述】:
有没有办法在 postgres SQL 中使用约束检查(或其他函数)对以下行为进行建模:
我有两列:
oncost (boolean)oncostdescription (varchar)
如果 oncost 是 true,我希望 oncostdescription 是强制性的(NOT NULL,NOT EMPTY)
如果 concost 是 false,我希望 oncostdescription 不是强制性的(NULL,EMPTY)
编辑:
我忘了说明我的 postgres 版本低于 12。
这里的一些人想出了一个很酷的功能,叫做generated columns。
看起来很酷。但前提是你有 12+
【问题讨论】:
-
可能删除
oncost,因为它是多余的? -
我会考虑一个拒绝“空”值的检查约束。
-
请不要在您的问题中添加解决方案。它已经在答案中了。
标签: sql postgresql create-table check-constraints