[]
        
(Showing Draft Content)

子表的删除模式

观看本节视频

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

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

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

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

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


约束删除

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

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



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

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


置空删除

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

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



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



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


级联删除

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

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



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



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