简单举个例子:
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表中的李四不知道是哪国的人了。
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表中的李四不知道是哪国的人了。
CREATE TABLE `a` (
id........
name.......
country........
PRIMARY KEY (`id`),
CONSTRAINT `a_fk1` FOREIGN KEY (`country`) REFERENCES `b` (`cid`)
) TYPE=InnoDB;