外键的引用实则是表的一个引用完整性约束:该约束指定一列或组列作为一个外来码(外键),并在外来码和一个指定的主码(成为引用码)之间建立一连亲表.在这种联系中
包含外来码的表成为子表,包含引用码的表成为双亲表.他们之间有一定要求:
1.子表和双亲表必须在同一数据库,但可以是同一表.
2.子表的没一行要满足行的外来码值必须在一双亲表行的引用码值出现,即子表中行从属于双亲表的引用码

解决方案 »

  1.   

    樓上說的詳細。就是為了保持數據完整性和一致性。
      

  2.   

    Tab1中插入或更新col时,该col值必须在Tab2中存在,否则不能执行;
    在Tab2中删除col时,若在Tab1中存在相同值的col,则不能在Tab2中删除该col;
      

  3.   

    尽量减少表间外键的约束,否则使数据库变得复杂。
      

  4.   

    用触发器也可以实现外键约束。