- foreign key(外键) 用于定义主表和从表之间的关系:外键约束要定义在从表上,主表则必须具有主键约束或是unique约束.,当定义外键约束后,要求外键列数据必须在主表的主键列存在或是为null(学生/班级
图示)- FOREIGN KEY (本表字段名) REFERENCES 主表名(主键名或unique字段名)
- 学生表(从表) id name class_id
班级表(主表) id class_name
指定外键关系 FOREIGN KEY (class_id) REFERENCES my_class(id))
foreign key(外键)细节
- 外键指向的表的字段,要求是primary key 或者是
unique- 表的类型是innodb,这样的表才支持外键
- 外键字段的类型要和主键字段的类型一致(长度可以不同)
- 外键字段的值,必须在主键字段中出现过,或者为null [前 提是外键字段允许为null」
- 一旦建立主外键的关系,数据不能随意删除了.