首先楼主要明白不同表中的相同字段是没有任何关系的 ,然后也没看到你的B表
你的问题:你的第一个问题你自己不觉得是自相矛盾吗?
A表中的主键是B表的外键,那么这个外键在B表中可以是主键吗? 这句话你的意思就相当于问 主键和外键可以是一个字段吗? 那么回答肯定是否定的 。一个字段要么是主键 要么是外键 不可能又是主键又是外键 ,然后主键和主键是同一级别的 没有谁约束谁,只有主键可以约束外键,然后我给楼主讲解一下主外键的关系,不要死记硬背定义,要理解。
比如a表的主键 如果是b表的外键的话 那么这个外键的每一个值都必须在a的主键里存在,如果b的这个外键定义可以为空的话,那么b这个外键的值只有两个情况:要么值在a的主键里选,要么为空。
就这么简单的一句话。
为数据库表添加外键方法(以SqlSever2005数据库为例):
1、新建两张表,一张为主表,一张为副表。主表里的外键就是连接到副表的主键。
2、首先在主表中添加一个外键字段,如下:
3、在主表上右击,选择关系,如下:
4、点击“添加”。
5、再点击上图中标出的位置,如下:
6、图中标出的“主键表”就选择上面的副表。如下:
7、主键表底下的就选择副表的主键,如下:
8、外键表底下的就选择刚才新建的外键字段。如下:
9、再点击“确定”。
10、点击“是”,即可完成外键的添加。
要求:建立了两个表一个attence(记作A表),一个leave(记作L表)。
A表中有用户的用户名,密码,id(自增作为主键)。
L表中是一个请假的表,L表中需要标识哪一个用户请的假。
这里需要设置外键:
步骤:
1、
在此右键L表
2、寻找并点击“关联/外键”或者摁“F10”。
d出此对话框。
3、新建
4、a在主键表下拉菜单中找到A表
b在Source Column中找到userid
c在Target Column 中找到id
d点击创建
就完成了外键的设置。
以上就是关于SQL 数据库 外键全部的内容,包括:SQL 数据库 外键、数据库语句怎么加外键、如何通过sqlyog对数据库表设置外键等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)