TSQL alter table在删除和更新时为级联添加约束

时间:2012-07-13 09:32:14

标签: tsql sql-server-2008-r2

我正在尝试使用tsql中的更新和删除创建约束。我尝试了几种不同的方法,现在我有点卡住了沮丧 - 似乎很简单。我知道你不能改变现有的约束,所以我不确定如何做到这一点;

alter table AllowedCars 
   add constraint FK_AllowedCars_CarID foreign key (CarID) 
      references Cars(LocusID) on delete cascade, 
constraint FK_AllowedCars_CarID foreign key (CarID) 
   references Cars(CarID) on update cascade

或者这个;

alter table AllowedCars add constraint FK_AllowedCars_CarID foreign key (CarID) 
   references Cars(CarID) on delete cascade and on update cascade

1 个答案:

答案 0 :(得分:10)

您需要先删除约束,然后重新创建它。您的第二次尝试是正确的,但您需要删除and

alter table AllowedCars 
  drop constraint FK_AllowedCars_CarID 

alter table AllowedCars 
  add constraint FK_AllowedCars_CarID 
      foreign key (CarID) 
      references Cars(CarID) 
      on delete cascade 
      on update cascade