有两个问题向大家请教,先谢谢了
先创建了如下的一个新表格
CREATE TABLE Persons_Form
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
然后有两种情况,第一种是我对表格内容进行了编辑,编辑内容如下图
然后添加条件设定语句
ALTER TABLE Persons_Form ADD CONSTRAINT chk_Id_city CHECK (City != 'sh')
这个时候就会报错
第二种情况是不对表格内容进行编辑的情况下 (即City选项中不填入 'sh') 直接添加上面的那条个件设定语句,这个时候是可以正常添加的
然后这里有一些疑问,根据我自己原来的认知,在后添加条件设定之前大部分表格数据应该都是已经存在了大量的数据了,那如果已有数据中存在和check限定冲突的数据就无法添加新限定的话,那应该如何来添加新的限定条件呢,如果把原有数据再重新整理来满足限定条件的话未免工作量太大了,不知我的理解是否存在偏颇
另外还有一个问题是我发现通过 ALTER TABLE Persons_Form ADD CHECK (City != 'sh') 的方式也可以添加限定条件,但如果移除限定的话用 ALTER TABLE Persons_Form DROP CHECK (City != 'sh') 会报错,而网上查询下来都是 DROP CHECK chk_Person 的方式,那这里的 chk_Person 是对应什么呢