1、为了方便大家理解,使用一个例子来帮助大家理解。意思大概就是通过引用表二中的字段完成对表一字段的约束。方法:
2、这里一共两个表,先创建外键表,因为先有外键,主键才能引用。首先创建数据库,新建查询。
3、新建外键表【teacher】,输入命令:create table teacher。添加需要的字段teacher_xingming并设置它为【主键】。输入命令:teacher_xingming nchar(10) primary key,
4、选中需要执行的命令行,单击【执行】,下方会有是否成功的提示。现在对表进行刷新 *** 作后,会发现已经成功创建了一个新表【teacher】。
5、接下来就要创建学生表了,create table student(\tstudent_xingming nchar(10) primary key not null,——该程序段意思为创建一个【student】表,表中新建一个主键【student_xingming字段,类型为nchar(10) ,并不允许为空。】
6、继续写,输入:student_banji nchar(10) not null,——表中新建一个【student_banji字段,类型为nchar(10) ,并不允许为空。】
7、创建外键,输入命令student_jiaoshi nchar(10) foreign key references teacher(teacher_xingming)看起来很长,实际意思很简单:表中新建一个【student_jiaoshi字段】,它是外键,nchar(10)类型,它来至 teacher_xingming中的内容。
8、选中,点击【执行】,没有错误,就说明成功了。刷新一下表,看看是不是多了一个表【student】?所有约束已经创建好了。
9、来试一下看看是否真正实现所说的功能。打开【teacher表】,填写“刘老师”。打开【student表】,前面任意填,最后填写“刘老师”,没有错误说明没问题。
10、如何想测试约束是否真的有效,填写其他内容,看看是否成功,只要不是【teacher】字段中的内容,他就会报错。
为数据库表添加外键方法(以SqlSever2005数据库为例):
1、新建两张表,一张为主表,一张为副表。主表里的外键就是连接到副表的主键。
2、首先在主表中添加一个外键字段,如下:
3、在主表上右击,选择关系,如下:
4、点击“添加”。
5、再点击上图中标出的位置,如下:
6、图中标出的“主键表”就选择上面的副表。如下:
7、主键表底下的就选择副表的主键,如下:
8、外键表底下的就选择刚才新建的外键字段。如下:
9、再点击“确定”。
10、点击“是”,即可完成外键的添加。
student(stuid,stuname,stusex)class(clsid,stuid,clsname)
stuid本身是student表的主键,同时,class表中也需要stuid。
外键取值规则:空值或参照的主键值。
(1)插入非空值时,如果主键表中没有这个值,则不能插入。
(2)更新时,不能改为主键表中没有的值。
(3)删除主键表记录时,你可以在建外键时选定外键记录一起级联删除还是拒绝删除。
(4)更新主键记录时,同样有级联更新和拒绝执行的选择
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)