SQLServer中创建主外键约束关系指南

创始人
2024-12-17 11:42:56
0 次浏览
0 评论

SQLServer中如何给两个表建立主外键约束

当我们使用SQLServer设计数据库时,有时需要为两个表建立主外键约束关系,以便可以对两个表中的数据进行级联删除和级联更新。
在SQLServer中添加两个表。
该表建立了主键和外键约束。
首先,创建两张表:主表-MainTable和外键表-ForeignTable。
主表的主键是ID,外键表中的TestID字段是外键,指的是主表的ID。
绘画。
在ForeignTable外键表设计视图中选择“TestID”字段,右键单击并选择“Relationship”选项。
在打开的外键关系表单中点击“添加”按钮,添加一个主外键约束关系FK_ForeignTable_ForeignTable。
点击外键关系表单右侧“表和列规范”中右侧按钮,打开“表和列”表单,选择主键表中的“ID”字段,选择“TestID”外键表中的字段。
单击“确定”,建立主外键约束关系。
在外键关系表单右侧的“INSERT和UPDATE规范”中,将“更新规则”和“删除规则”设置为“级联”,实现主键表和外键数据的级联删除和更新关键表。

mysql外键约束怎么写

在MySQL中创建外键约束时;可以使用以下语法:

```sqlALTERTABLEtable_nameADDCONSTRAINTconstraint_nameFOREIGNKEY(column1,column2,...)REFERENCESreferencing_table(column1.column2,.);

``其中,`table_name`是要添加外键约束的表的名称,`constraint_name`是外键约束的名称;``第1栏,Column2,...`是要添加外键约束的表的名称;`reference_table`是`第1列;第2栏;参考表'。
..`是与引用表中的外键约束对应的列名。
例如,假设我们有一个名为“orders”的表,它引用“customer_id”列。
我们可以使用以下语句添加外键约束:```sqlALTERTABLEordersADDCONSTRAINTfk_orders_customersFOREIGNKEY(customer_id)referencecustomers(customer_id);

```这将创建一个名为`fk_orders_customers`的外键约束;“orders”表中的“customer_id”列和“customers”表中的“customer_id”列是相关列。
如果“Orders”表中的一行在“customer_id”列中具有“Customers”表中不存在的值。
该行将被拒绝插入或更新。

sql怎么设置外键(sql怎么设置外键约束)

sqlserver中设置外键要求有三种方式:设置业务、设置表、设置可设计、设置表属性、设置约束、设置引用键;它直接使用transactsql。

1.

1)创建表author:

creatable[dbo].[author](

[id][h3int]notnull,[authorname][char](10)null,[inscriptio][char](480)null,[introction][ntext]null

2)创建表mybbs:

可重置[dbo].[mybbs](

[id][h3in]实体id(1,1)notnull,[authorid][h3int]notnull,[title][char](40)null,[date_of_created][datetime]null,[abstract][char](480)null,[content][ntext]null

2.并使用transactsql语句,流程如下:

1)添加外键约束fk_mybbs_author表mybbs(authorid),author表中的mybbs受author表中第一个keyid约束:

principitransaction

altertabledbo.mybbsaddconstraintfk_mybbs_author

foreignkey(authorid

referencesdbo.author([id])onupdatecascadeondeletecascade

2)根据需要删除外键fk_mybbs_author:

--altertabledbo.mybbsdropconstraintfk_mybbs_author

--rollback

Commission

上面的onupdatecascades和ondeletecascades两个选项指示该字段何时今后该板子的作者将进行删除或更新操作,即在mybbe板子中也将级联删除或更新。
如果不选,则无法在链接到mybbs版块的作者版块上更新或删除。

扩展信息:

SQL中主键和外键的作用:

1插入非空值时,如果该值在主键表中不存在,则不能插入被插入。

2.3.删除主键记录时,可以选择级联删除外键记录,也可以选择在创建时拒绝删除外键记录。
4.

最后,SQL主键和外键作为约束。

热门文章
1
高效掌握:CMD命令轻松启动、关闭及登录... 如何用cmd命令快速启动和关闭mysql数据库服务开发中经常使用MySQL数据库...

2
MySQL分区删除技巧与8.0版本新特性... mysql删除分区在MySQL中,删除分区操作主要使用“可替代”的命令与“ dr...

3
Python代码实现:如何判断三角形的三... python三角形三条边长,判断能否构成三角形Python三角形的三个长边如下:...

4
深度解析:MySQL查询语句执行顺序及优... mysql查询语句执行顺序当这是由于执行SQL的过程时,了解其过程很重要。 ...

5
SQL教程:使用SUBSTRING和IN... sql取特定字符的前面几位字符selectsubstr('L-0FCLDRBCT...

6
MySQL日期差异计算方法:轻松获取日期... MySQL计算时间差两日期相减得月份mysql两时间相减得月MySQL计算时间之...

7
MySQL及SQL查询获取前10条数据方... MySql查询前10条数据sql语句是从MySQL获取前1 0个数据的SQL查询...

8
MySQL启动问题排查与解决指南 Mysql为什么启动不了如果要配置MySQL,则遇到无法启动的问题,可能是由于配...

9
DbVisualizer添加MySQL数... 如何在DbVisualizer中添加本地mysql数据库由于DbVisualiz...

10
SQL字段默认值设置全攻略:轻松实现自动... sql如何设置字段默认值设置SQL中某个字段的默认值;需要遵循几个步骤。首先您需...