create table tablename( A 类型 not null, B 类型, C 类型 not null )
错了,没注意是A不为空时B也不为空检查约束check(not (A is not null and C is not null))
CREATE TABLE TESTA ( A INT, B INT, C INT, CHECK (NOT (A IS NOT NULL AND C IS NULL)) ) GO INSERT TESTA VALUES(NULL,1,1) GO INSERT TESTA VALUES(1,1,NULL) 出错: 消息 547,级别 16,状态 0,第 1 行 INSERT 语句与 CHECK 约束"CK__TESTA__7193879D"冲突。该冲突发生于数据库"NIDC",表"dbo.TESTA"。 语句已终止。 GODROP TABLE TESTA GO
A 类型 not null,
B 类型,
C 类型 not null
)
错了,没注意是A不为空时B也不为空检查约束check(not (A is not null and C is not null))
(
A INT,
B INT,
C INT,
CHECK (NOT (A IS NOT NULL AND C IS NULL))
)
GO
INSERT TESTA VALUES(NULL,1,1)
GO
INSERT TESTA VALUES(1,1,NULL)
出错:
消息 547,级别 16,状态 0,第 1 行
INSERT 语句与 CHECK 约束"CK__TESTA__7193879D"冲突。该冲突发生于数据库"NIDC",表"dbo.TESTA"。
语句已终止。
GODROP TABLE TESTA
GO