Mysql外键约束的添加

2018-05-12  本文已影响0人  XinAnzzZ

创建外键可以通过navicat或者sqlyog等工具来完成,但是还是推荐使用语句完成。

创建语句:ALTER TABLE <表名> ADD CONSTRAINT 外键名 FOREIGN KEY(外键字段) REFERENCES 关联表名(关联字段)

举例:

    表一:学生信息表 stu_info,主键为学生的学号stu_id, 还有一个字段就是班级号,class_id,这个班级号应该就是引用自班级表。所以我们需要建立学生和班级之间的外键关联。

    表二:班级表  class,主键为  id。

ALTER TABLE <表名> ADD CONSTRAINT 外键名 FOREIGN KEY(外键字段) REFERENCES 关联表名(关联字段)

这里我们需要思考一个问题,这个表名应该填什么?是填学生信息表还是班级表呢?也就是说这个外键应该添加在哪个表呢?

这个问题其实很简单,我们是在学生信息表里面引用了班级表里面的班级id,a引用b那么外键就应该设置在a表中,记住这个就好办了。

外键名字可以随意设置,但是建议设置规则为(外键的命名为 fk_外键所在的表名_外键引用的表名 。因为外键所在的表为从表,所以上式可以写为 fk_ 从表名_主表名 。),所以我们取名为“fk_user_info_class”

外键字段设置的就是学生表中引用班级表中的那一列的列名,这里应该就是"class_id"。

关联字段设置的就是班级表中被引用的那一列的列名,一般都是主键,这里应该是“id”。

所以,外键语句应该是       ALTER TABLE <user_info> ADD CONSTRAINT fk_user_info_class FOREIGN KEY(class_id) REFERENCES 关联表名(id)

ok,小伙伴们可以自己去试一试。

上一篇下一篇

猜你喜欢

热点阅读