美文网首页
Mysql外键约束的添加

Mysql外键约束的添加

作者: XinAnzzZ | 来源:发表于2018-05-12 20:46 被阅读0次

    创建外键可以通过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,小伙伴们可以自己去试一试。

    相关文章

      网友评论

          本文标题:Mysql外键约束的添加

          本文链接:https://www.haomeiwen.com/subject/kfhnrftx.html