我正在创建一个包含名为“付款”的表格的数据库。在此表中,您可以使用三种方法付款,其中一种方法是信用卡。让我使用下表来更好地说明,表名是payment.payments
PaymntID | creditcardnumber | creditcardexpdate | Creditcardholdersname | PaymentMethodID
现在,我的任务是,如果信用卡不是付款方式,则将creditCardnumber,creditCardExpDate和Creditcardholdersname保留为空,否则,不应将任何列留空。仍然没有解决方案。谢谢
答案 0 :(得分:1)
您正在寻找check
个约束。在create table
语句中,这些看起来像:
check (method <> 'cc' and cc_col1 is null and cc_col2 is null and cc_col3 is null and cc_col4 is null),
check (method = 'cc' and cc_col1 is not null and cc_col2 is not null and cc_col3 is not null and cc_col4 is not null)
您也可以使用alter table
添加它们。