我有两个表,假设一个叫parent_table
,另一个是child_table
。它们的关系设置为CASCADE ON DELETE(通过主键和外键)。
child_table
有一个名为child_history_table
的存档表。我在其AFTER DELETE触发器中写了一个INSERT语句,将删除的记录插入child_history_table
。
现在的问题是:如果删除parent_table
的记录,当然child_table
中的相关记录将被自动删除。但它的AFTER DELETE触发器似乎没有被调用。因为没有记录插入历史记录表。
然而,如果我手动删除child_table
的记录,它的AFTER DELETE触发器将正常工作,并且记录已插入历史记录表中。
我该如何解决这个问题?唯一的方法是将关系设置为NO ACTION ON DELETE,并通过在父DELETE触发器中编写代码来手动删除子记录吗?