如何在MySQL中设置外键约束以及外键的作用

如何在MySQL中设置外键约束以及外键的作用,第1张

1外键的作用,主要有两个:

一个是让数据库自己通过外键来保证数据的完整性和一致性

一个就是能够增加er图的可读性

2外键的配置

1)先创建一个主表,代码如下:

#创建表student,并添加各种约束

create

table

student

(

id

int

primary

key

,

#主键约束

name

varchar(20)

,

#唯一约束

age

int

not

null,

#非空约束

sex

varchar(2)

,

address

varchar(20)

default

'重庆'

#默认约束

)

;

再通过一个外键,创建一个分数表,这样的话,就可以方便查询。代码如下:

#创建分数表

create

table

score

(

id

int

primary

key

,

sid

int

,

china

int

,

history

int,

english

int,

constraint

fk_sid

foreign

key(sid)

references

student(id)

#通过外键创建链接

)

;

创建外键的方法有很多,其中最常见创建外键的格式是:constraint

fk_

foreign

key()

references

链接的外表

删除外键:

alter

table

drop

foreign

key

'外键名'

注意:

只有在定义外键时,用constraint

外键名

foreign

key

方便进行外键的删除

一张表中的主键只能有一个,外键可以有多个,如果一张表中多个列都需要被别的表的外键参考,需要使用候选码(非空并且唯一),具体到你的这个问题的需求可以考虑用如下方法解决:

把a表中的bookid和authorid都设置为非空并且唯一,即

create table a(bookid int not null unique, authorid int not null unique);

然后在book表和author表中就可以分别设置外键来参照a表中两个不同的字段了。

打开我的navicat,然后找到我的teacher表,选中它,然后点击菜单栏上的‘design table'

2 在d出的对话框中找到“Foreign Keys”,然后单机。

3 然后会出现一个设置外键的界面,一共有七列。简单介绍一下这几列的意思。‘name’:可以不填,你一会保存成功系统会自动生成。FieldName’:就是你要把哪个键设置为外键。这里选择‘dept’,‘Reference DadaBase’:外键关联的数据库。‘Reference Table‘ :关联的表 这里是dept表‘Forgin filed Names’:关联的的字段,这里是code‘ondelete’:就是删除的时候选择的动作。这里我的选择是setNull,意思就是当关联的表删除以后,teacher》dept字段会设置为null

4 设置完成后点击‘save’保存退出,也可以点击‘add Foreign Key’再添加一个外键。

打开我的navicat,然后找到我的teacher表,选中它,然后点击菜单栏上的‘design table’。如下图:

2 在d出的对话框中找到“Foreign Keys”,然后单机。如下图:

3 然后会出现一个设置外键的界面,一共有七列。简单介绍一下这几列的意思。‘name’:可以不填,你一会保存成功系统会自动生成。FieldName’:就是你要把哪个键设置为外键。这里选择‘dept’,‘Reference DadaBase’:外键关联的数据库。‘Reference Table‘ :关联的表 这里是dept表‘Forgin filed Names’:关联的的字段,这里是code‘ondelete’:就是删除的时候选择的动作。这里我的选择是setNull,意思就是当关联的表删除以后,teacher》dept字段会设置为null。如图

4 设置完成后点击‘save’保存退出,也可以点击‘add Foreign Key’再添加一个外键。k如图:

1、登录phpmyadmin,找到要删除外键的数据库的表。如果是本地的话一般是localhost/phpmyadmin。

2、使用   SHOW CREATE TABLE at_article  查出表的结构,其中at_article是你要删除外键的表名。

3、查来之后,是一个简单的显示,点击“选项”,然后选择“完整内容”,然后点执行,就可以看到完整的表结构。

4、从最后一行里找到外键约束,其中fk_at_article_at_type为外键值。

5、删除外键ALTER TABLE at_article DROP FOREIGN KEY  fk_at_article_at_type。

6、如果外键字段不再使用,可以在表中删除外键的字段。

以上就是关于如何在MySQL中设置外键约束以及外键的作用全部的内容,包括:如何在MySQL中设置外键约束以及外键的作用、mysql建立外键时,多对多如何建立、phpMyAdmin里怎么设置外键等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9784559.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存