You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用ALTER TABLE添加CHECK约束?配置ZIPCODE表字段非负限制

嘿,这问题我熟,给你一步步讲清楚!

使用ALTER TABLE添加CHECK约束的基本方法

要给已存在的表添加CHECK约束,通用的SQL语法是这样的:

ALTER TABLE 表名
ADD CONSTRAINT 约束名 CHECK (约束条件);

几个关键点:

  • 约束名最好起得直观好记,比如和约束作用挂钩,方便后续维护(比如修改或删除约束时能快速识别)
  • 约束条件就是你要强制执行的逻辑判断,比如字段值的范围、格式要求等等

针对你的ZIPCODE表的具体实现

根据你提供的表创建语句,要确保sales_tax_applied字段永远不会出现负值,同时保留所有字段的NOT NULL约束,执行下面的SQL语句就可以了:

ALTER TABLE ZIPCODE
ADD CONSTRAINT chk_sales_tax_non_negative 
CHECK (sales_tax_applied >= 0);

补充说明:

  • chk_sales_tax_non_negative是这个约束的名称,清晰说明了约束的作用——确保销售税非负
  • sales_tax_applied >= 0就是核心的约束逻辑,数据库会自动拦截任何试图插入或更新成负值的操作
  • 你原来设置的所有NOT NULL约束都会完整保留,因为我们只是添加新的CHECK约束,不会修改原有字段的属性

另外提一句,主流数据库(PostgreSQL、SQL Server、MySQL 8.0+、Oracle)都完全支持这个语法,不用担心兼容性问题~

内容的提问来源于stack exchange,提问作者Boognish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:43:13