有三种策略:
NO action
cascade
还有就是设置为空值
这个设置为空值怎么实现??举个列子

解决方案 »

  1.   

    create table Themes
    (
    ThemeID int primary key,
    ThemeName varchar(100),
    )create table Users
    (
    UserID int primary key,
    UserName varchar(100),
    ThemeID int constraint Users_ThemeID_FK references Themes(ThemeID) 
                  on delete set null --自己测试时改:on delete cascade
                                     --或者on delete no action
    )insert into Themes (ThemeID, ThemeName) values (1,'Default')
    insert into Themes (ThemeID, ThemeName) values (2,'Winter')insert into Users(UserID, UserName, ThemeID) values (1,'JSmith',null)
    insert into Users(UserID, UserName, ThemeID) values (2,'Ted',1)
    insert into Users(UserID, UserName, ThemeID) values (3,'Mary',2)--删除themes表themeid为1的记录
    DELETE themes WHERE themeid=1select * from usersgo
    drop table users,themes
      

  2.   

    不但可以设置为 null,还可以设置为默认值。