我有一个(非常)复杂的数据库结构。 其中一个表代表客户。此表由其他子表引用,并且这些子表也被引用(不一定是树结构)。
我必须删除customers表中的父记录,而不更改约束定义(我不想在级联上使用delete !!!)。
我想在mySQL中递归地实现这个,但是这看起来非常复杂(如果我访问了表,如果它是一个叶表,我必须在每一步中计算,并保存父表的键,所以我可以删除与之关联的子表的记录。)
我想使用递归而不是使用在数据表上中继的迭代方式,因为当将来某人进入新表时我将不得不更改算法..我希望它保持一致。
eample: 如果那是hirarchy(tab代表一个孩子)
客户
code_831
site_sales_billings
cus_dev_devid
custom_wizard_containers
unlock_wizard_request
customer_attendant_console
customer_attendant_console_row
customer_attendant_consoles
customer_region_attendant_consoles
customer_region_attendant_console_rows
我想首先从leaves表中删除行: site_sales_billings,cus_dev_devid,unlock_wizard_request,customer_attendant_console_row,customer_region_attendant_console_rows和upwords,直到我有权删除没有约束错误的客户记录。