第一张表我称被依赖表(表1),第二张表称依赖表(表2,因为stuId依赖第一张表的stuId),如图
,
insert的情况:表1里面有125的数据,那么在表2必须添加125的数据,添加其他的会报错,如图:
delete情况:表2的数据可以随便删除,因为表2的stuId依赖表1,表1的数据只要还在,表2删不会影响。比如我删除了
,不会报错。
但是,如果我不删除表2的125,我想删除表1的125,就会报错
还是因为表2的所有数据都依赖于表1,如果表1都被删除了,那么表2依赖谁?依赖空气吗?所以表1必须不能被删除。除非表2的125删了,表1才可以去删除125,因为表2的125对表1的125的依赖已经没了,表1的125可删。
update的情况:表1修改和表2修改外键都不行。因为表2依赖表1,表1一改,表2失去依赖,所以不行;表2改也一样不行,道理跟add一样,不能添加表1所定的stuId以外的数据。