mysql 中常会涉及到主键、外键,那么什么是主键,什么是外键呢。
主键:作为表的唯一标识,通过该字段可以查询到准确定位到这条信息;一个表可以有多个主键。
外键:表A的某个字段指向表B的主键,则称A中的字段为B的外键。一个表可以有多个外键。
举个例子:
表一: 学生表,包含字段学号、姓名、性别。此时的学号是学生表的主键;
表二:课程表,包含字段课程号、课程名称、任课教师。课程号是课程表的主键;
表三:成绩表,包含学号,姓名,班级,成绩。此时若只通过学号或者姓名不能查出某学生的成绩,而要结合学号和姓名,因而学号和姓名可同时作为成绩表的主键。同时,成绩表中的学号是学生表的外键,课程号是课程表的外键。
在删除或者更新主表记录时,从表应该设置级联操作:
使用关键字:
on update CASCADE;
on delete SET NULL.