一.外键索引
- 如果数据表含有从属关系,比如部门和员工, 教室和桌椅,班级和同学就可以使用一对多的制表关系
- 一的一方定义为主表, 多的一方定义为从表
- 在多的一方添加一列,作为外键约束 ,引用少的一方的主键
- 如果主表中的主键被应用,则该条数据无法被删除
- 如果从表中的外键找不到相同值的主键,则无法被插入
CREATE TABLE category1
(
cid VARCHAR(32) PRIMARY KEY,
cname VARCHAR(100)
);
CREATE TABLE products
(
pid VARCHAR(32) PRIMARY KEY,
name VARCHAR(40),
price DOUBLE,
category_id VARCHAR(32),
CONSTRAINT FOREIGN KEY (category_id) REFERENCES category1 (cid)
);
二.注意事项
- 从表中添加的外键的值,一定要在主表中的id里存在,否则就会报错
- 如果想要添加从表数据,先添加主表相对应的id的内容
- 为了保证数据的完整性,如果当前主表中的数据已经被从表引用,则主表中的该数据无法被删除