mysql怎么定义外键

mysql怎么定义外键,第1张

定义外键的方法和详细的操作步骤如下:

1、第一步,创建一个主从表,如下图所示,然后进入下一步。

2、其次,完成上述步骤后,选择主表,然后单击设计表进入表设计界面,如下图所示,然后进入下一步。

3、接着,完成上述步骤后,单击外键进入外键的设置界面,如下图所示,然后进入下一步。

4、然后,完成上述步骤后,设置外键名称,然后选择主表的外键字段,如下图所示,然后进入下一步。

5、随后,完成上述步骤后,设置与数据库,表名称和从属表的单词相对应的外键字段,如下图所示,然后进入下一步。

6、最后,完成上述步骤后,单击保存即可,如下图所示。这样,问题就解决了。

sql server中建立外键约束有3中方式:enterprise manager中,tables,design table,设置table的properties,可以建立constraint, reference keyenterprise manager中,diagrams, new diagrams,建立两个表的关系;直接用transact sql语句。

1、三个方法都需要先建立数据表。

1)创建表author :

create table [dbo].[author] (

[id] [bigint] not null ,

[authorname] [char] (10) null ,

[address] [char] (480)  null ,

[introduction] [ntext]  null

)

2)创建表mybbs:

reate table [dbo].[mybbs] (

[id] [bigint] identity (1, 1) not null ,

[authorid] [bigint] not null ,

[title] [char] (40)  null ,

[date_of_created] [datetime] null ,

[abstract] [char] (480)  null ,

[content] [ntext]  null

)

2、设置表mybbs中的authorid为外键,参照author表的id字段,直接使用transact sql语句,过程如下:

1)增加表mybbs(authorid)的外键约束fk_mybbs_author,表mybbs中的authorid受表author中的主键id约束:

begin transaction

alter table dbo.mybbs add constraint fk_mybbs_author

foreign key (authorid)

references  dbo.author([id]) on update cascade on delete cascade

2)删除外键约束fk_mybbs_author:

--alter table dbo.mybbs drop constraint fk_mybbs_author

--rollback

commit transaction

上面on update cascade,on delete cascade两个选项,指明以后author表的id字段有delete,update操作时,mybbs表中的id也会被级联删除或更新。如果没有选中,是不可以对author表中已被mybbs表关联的id进行update或者delete操作的。

拓展资料:

SQL的主键和外键的作用:

1、插入非空值时,如果主键表中没有这个值,则不能插入。

2、更新时,不能改为主键表中没有的值。

3、删除主键表记录时,你可以在建外键时选定外键记录一起级联删除还是拒绝删除。

4、更新主键记录时,同样有级联更新和拒绝执行的选择。

简而言之,SQL的主键和外键就是起约束作用。

1、首先新建一张表,设置主键字段,这个等下要关联另外表的外键,如图。

2、然后在新建一张表,添加一个外键的字段,如图。

3、点击外键功能,切换页面如图,这里就可以设置外键了。

4、然后在弹出的对话框中,先取个外键的名称,在选择外键字段,如图。

5、然后选择自己外键表所在的数据库,如图。

6、最后选择外键表,再选择外键表主键字段即外键,如图,这样点击保存外键就创建成功了。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/748.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存