Page tree
Skip to end of metadata
Go to start of metadata

活字格视频
倍速:
0.5X
1.0X
1.25X
1.5X
2.0X

1.描述

设置关联字段时,在“高级设置”中可开启外键约束,设置子表的删除模式。

  • 约束删除:删除主表中的记录时,如果有对应的从表记录,则不允许删除,删除将失败。

  • 置空删除:删除主表中的记录时,如果有对应的从表记录,则主表中的记录被删除,从表中的对应记录不删除,但关联主表的字段的值将变成空。

  • 级联删除:删除主表中的记录时,如果有对应的从表记录,则主表中的记录被删除,从表中对应的记录也将被删除。

例如,在订单表列表中,单击“删除”即可将对应记录删除。本节以订单表和订单详情表为例,介绍子表的三种删除模式。

图1  删除记录

2.约束删除

删除主表中的记录时,如果有对应的从表记录,则不允许删除,删除将失败。

在订单详情表的关联字段“订单表的订单编号”上右击,选择“设置关联字段”,弹出“关联字段设置”对话框后,单击“高级设置”,勾选“开启外键约束”,并选择删除模式下的“约束删除”。

图2  设置约束删除

运行页面,选中订单表中的一条记录,例如选择订单A003,该订单有两条从表记录,单击“删除”。

您会看到页面弹出“更新数据库失败”的信息,该记录删除失败。

图3  删除失败

3.置空删除

删除主表中的记录时,如果有对应的从表记录,则主表中的记录被删除,从表中的对应记录不删除,但关联主表的字段的值将变成空。

在订单详情表的关联字段“订单表的订单编号”上右击,选择“设置关联字段”,弹出“关联字段设置”对话框后,单击“高级设置”,勾选“开启外键约束”,并选择删除模式下的“置空删除”。

图4  设置置空删除

运行页面,选中订单表中的一条记录,例如选择订单A003,该订单有两条从表记录,单击“删除”后,订单A003的记录被删除。

图5  删除记录

在数据库中可以看到,订单A003的记录已被删除,从表订单详情表中的对应记录没有删除,但关联主表的字段“订单表的订单编号”的值变成空。

图6  主从表数据变化

4.级联删除

删除主表中的记录时,如果有对应的从表记录,则主表中的记录被删除,从表中对应的记录也将被删除。

在订单详情表的关联字段“订单表的订单编号”上右击,选择“设置关联字段”,弹出“关联字段设置”对话框后,单击“高级设置”,勾选“开启外键约束”,并选择删除模式下的“级联删除”。

图7  设置置空删除

运行页面,选中订单表中的一条记录,例如选择订单A003,该订单有两条从表记录,单击“删除”后,订单A003的记录被删除。

图8  删除记录

在数据库中可以看到,订单A003的记录已被删除,从表订单详情表中的对应记录也被删除了。

图9  主从表数据变化


回到顶部

  • No labels