[]
        
(Showing Draft Content)

子表的更新模式

观看本节视频

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

  • 约束更新:更新主表中的记录时,如果更新的为关联字段的值,且有对应的从表记录,则不允许更新,更新将失败。

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

  • 级联更新:更新主表中的记录时,如果更新的为关联字段的值,且有对应的从表记录,则主表中的记录和对应的从表记录都将被更新。

例如,在订单表列表中,单击订单编号可弹出订单更新页面,在该页面中进行订单的更新。本节以订单表和订单详情表为例,介绍子表的三种更新模式。


约束更新

更新主表中的记录时,如果更新的为关联字段的值,且有对应的从表记录,则不允许更新,更新将失败。

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



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

“编号”为关联字段,更新编号“A003”为“A008”,您会看到页面弹出“更新数据库失败”的信息,该记录更新失败。


置空更新

更新主表中的记录时,如果更新的为关联字段的值,且有对应的从表记录,则主表中的记录被更新,对应的从表不更新,但关联主表的字段的值将变为空。

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



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

“编号”为关联字段,更新编号“A003”为“A008”,订单表中记录更新成功。



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


级联更新

更新主表中的记录时,如果更新的为关联字段的值,且有对应的从表记录,则主表中的记录和对应的从表记录都将被更新。

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



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

“编号”为关联字段,更新编号“A003”为“A008”,订单表和订单详情表中编号都更新成功。



在数据库中可以看到,订单表和订单详情表中A003的记录都已被更新为A008。