一、删除约束:
1、语法:ALTER TABLE <表名> DROP CONSTRAINT <约束名_列名>
2、例:删除SalesList销售表 员工ID、产品ID的外键引用约束、销售量的检查约束
字段名 | 数据类型 | 表关系 | 备注 |
S_Id | INT | 主键,自动增长 NOT NULL | 销售ID |
PL_Id | INT | 外键,NOT NULL | 产品ID |
E_Id | INT | 外键,NOT NULL | 员工ID |
S_Amount | INT | >0,NOT NULL | 销售量 |
USE MyServer
GO
ALTER TABLE SalesList DROP
CONSTRAINT FK_PL_Id, --产品ID
CONSTRAINT FK_E_Id,--员工ID
CONSTRAINT CK_S_Amount --销售量
GO
二、向已有数据的表添加约束:
1、语法:
ALTER TABLE <表名> WITH NOCHECK ADD
CONSTRAINT <约束名> <约束类型> <具体的约束说明>
2、举例:向已有数据的销售表SalesList添加PL_Id、E_Id字段外键引用,S_Amount>0检查约束
USE MyServer
GO
ALTER TABLE SalesList WITH NOCHECK ADD
CONSTRAINT FK_PL_Id FOREIGN KEY(PL_Id) REFERENCES ProductList(PL_Id),
CONSTRAINT FK_E_Id FOREIGN KEY(E_Id) REFERENCES Employee(E_Id),
CONSTRAINT CK_S_Amount CHECK(S_Amount>0)
GO
注:向已有数据表添加约束,对现有表的数据不做检查,只对添加约束之后录入的数据进行检查