开发者社区> 问答> 正文

SQL-使用两列将约束添加到实体

我有这张桌子叫pc_table:

MODEL   SPEED   PRICE
1012    350     799
1001    700     799
1008    700     999
1013    733     1500
1010    750     699
1003    866     1500
1004    866     999
1005    1000    1499
1011    1100    1299
1009    1200    1699
1006    1300    2119
1007    1400    2299
1002    1500    2499

我必须将此约束添加到我的表中: if speed < 1200: price must be less than 1500

我写了这一行: ALTER TABLE pc_table ADD CHECK (speed < 1200 AND price <= 1500);

但这是不正确的,我将不胜感激!

展开
收起
祖安文状元 2020-01-04 15:55:37 463 0
1 条回答
写回答
取消 提交回答
  • 您想要的逻辑是:

    ALTER TABLE pc_table ADD CHECK (speed >= 1200 OR price <= 1500)
    
    

    您也可以这样表达-也许更接近您的意图:

    ALTER TABLE pc_table ADD CHECK (NOT (speed < 1200 AND price > 1500) );
    
    

    注意: NULL值通过检查约束。因此,如果您要禁止使用NULL值,则需要进行额外的检查。

    2020-01-04 15:55:51
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server在电子商务中的应用与实践 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载