简单举个例子:
a表 放 人员信息   
id , name, country
 1    张三   1
 2    李四   2b表 放 国家       
cid, countryname
 1     中国
 2     美国a 表如果country有外键 使用 b表的cid那么 在b表没有该键的情况,不能在a表使用该值。比如现在插入a表 ( 3,王五, 4  ) 是不行的,因为4在b表不存在,不知道4代表哪个国家
现在删除b表的2也是不可以的,因为删除后,a表中的李四不知道是哪国的人了。

解决方案 »

  1.   

    那么应该如何设置外键呢?是不是在定义字段的后边加上一个 foreignkey ?如果不是用sql创建表,而是用phpmyadmin,还能不能使用外键?
      

  2.   


    CREATE TABLE `a` (
    id........
    name.......
    country........
      PRIMARY KEY  (`id`),
      CONSTRAINT `a_fk1` FOREIGN KEY (`country`) REFERENCES `b` (`cid`)
    ) TYPE=InnoDB;
      

  3.   

    mysql用多了,关系数据库就废了外键依赖