如何通过 ALTER TABLE 添加 CHECK 约束?

How to ALTER TABLE to add CHECK constraint?

我想更改我已经创建的 ZIPCODE table,以便 sales_tax_applied 字段永远不会有负值。这是我已经创建的 table:

的代码
CREATE TABLE ZIPCODE 
( 
  city VARCHAR(50) NOT NULL, 
  state CHAR(2) NOT NULL, 
  zipcode VARCHAR(20) NOT NULL, 
  sales_tax_applied DECIMAL(10,4) NOT NULL, 
  PRIMARY KEY (zipcode) 
);

我可以执行此操作的代码是什么?注意:所有字段都必须为 NOT NULL。

谢谢

你会做:

alter table zipcode add constraint chk_zipcode_sales_tax_applied
    check (sales_tax_applied >= 0);

您还可以通过多种方式将其添加到create table语句中,例如:

CREATE TABLE ZIPCODE ( 
  city VARCHAR(50) NOT NULL, 
  state CHAR(2) NOT NULL, 
  zipcode VARCHAR(20) NOT NULL, 
  sales_tax_applied DECIMAL(10,4) NOT NULL, 
  PRIMARY KEY (zipcode),
  constraint chk_zipcode_sales_tax_applied check (sales_tax_applied >= 0)
);