外键的作用

来源:互联网 发布:lol mac版本 编辑:程序博客网 时间:2024/04/29 22:54

设置外键的主要作用就是保证数据的完整性和一致性

两个表A和B,当A中的一个字段存储的值是B表的主键时,我们就说A表中的字段是外键引用

举例:用户表User有一个字段RoleId,存放的值是角色表Role的主键RoleId的值,这里要注意的几个地方:

(1)User表的RoleId字段必须和Role表中的主键关联,我们才说这是外键应用

(2)User表中的外键引用的字段名不一定与引用的表Role中的主键字段名相同,关键是这个字段存放的值一定是Role中的主键值,即相关联的是字段存放的值而不是字段名!

(3)体现外键约束数据的完整性与一致性的地方:

        1)删除Role表中的一条数据时,如果这条数据的主键被User表中的数据引用了,则数据库提示“违反完整约束条件”,不让删除。必须先去掉约束关系才可以删

        2)如果User表和Role表已经有数据,但没有主外键关联;现在要User的RoleId字段关联到Role表的主键RoleId上,要想关联成功,必须保证User表中RoleId的值都能在Role表中找到,否则提示“违反完整约束条件,未找到父项关键字”,不让关联

 

原创粉丝点击