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
SQL2000数据库备份压缩技巧:优化空... 怎么将SQL2000中的较大的备份数据库压缩变小更改数据库属性-选项-恢复模型很...

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

3
SQL字符串处理技巧:单引号使用与转义标... SQL语句中,字符串类型的值均使用什么符号标明?单引号如果字符串内有单引号,请小...

4
Windows环境下Redis安装指南与... redis安装windowsredis基本简介与安装安装Redis首先需要获取安...

5
深度解析:Redis性能优势与局限性,助... redis有哪些优缺点?Redis的全称是RemoteDictionary.Se...

6
深入解析:MySQL数据库的特性与应用 mysql是什么MySQL是一个关系数据库管理系统。MySQL是一个开源关系数据...

7
Linux Redis后台启动教程:配置... linux怎么启动redis1、首先,为了管理方便,将Redis文件中的conf...

8
MySQL浮点数与Decimal类型详解... MySQL中的float和decimal类型有什么区别小数类型可以准确地表示非常...

9
C语言实现输入10个整数并找出最大最小值... C语言从键盘输入任意的10个整数,从中找出最大值和最小值并输出代码:#inclu...

10
揭秘MySQL:为何将可重复读设为默认事... mysql默认的事务隔离级别是READUNCOMMITTED(未提交读)、REA...