mysql navicat 设置外键

使用场景

表关联,学生表创建一个外键即class中的id,也就是说学生表的外键c_id字段就是class表的主键id。

先将class表中填写内容后、才能在学生表中填写数据。
当我们没有删除学生表中的数据时,而是直接将class表中的记录进行删除操作,就会出现执行delete报错。

这是因为class表涉及到有外键的学生表的数据,只有删除相关学生表的数据才能在class表中进行删除操作!

而当我们更改学生表中的c_id时,也会出现报错(如下图),需要注意的是,这里的外键字段c_id必须要与我们所依赖的class表中的主键数据类型相一致!

“emp”(主表—员工表)
“dept”(从表—部门表)

  1. 将“emp”(主表)和“dept”(从表)中选项设置

表类型:InnoDB,

字符集:utf8 – UTF-8 Unicode(默认),

整理: utf8_general_ci(默认),

自动递增: 自己设置(主表emp与从表dept必须相同)

mysql navicat 设置外键