【发布时间】:2009-07-17 15:49:41
【问题描述】:
我有一个存储付款的表,并且想要确保付款方式是信用卡,那么卡类型字段应该是 IN('Visa'、'MasterCard'、'Discover'、'American Express'),但是如果付款方式不是信用卡,则卡类型字段应为 NULL。
检查约束是否允许我使用这样的语句:
(method = 'CC' AND cardType IN ('Visa', 'MasterCard', 'Discover', 'American Express'))
OR
(method != 'CC' AND cardType = NULL)
我可能完全不了解这个,因为约束可能只用于检查 1 个字段(不确定)。
此外,如果允许这样的声明,是否可能会对性能产生不利影响?
编辑:我计划最终创建一个 cardType 字段并在我们的支付表中使用 cardType 作为外键...这只是我在此期间正在考虑做的事情
【问题讨论】: