postgresql 关于删除级联 [英] postgresql on delete cascade

查看:102
本文介绍了postgresql 关于删除级联的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两张桌子:

TableY:
    id, name, description

TableX:
    id, name, y_id

我在 TableX 中添加了一个外键(y_id REFERENCING tableY id ON DELETE CASCADE).当我从 TableX 删除时,TableY id 仍然存在(理论上应该删除它).我想我误解了 ON DELETE CASCADE 选项的工作原理.谁能告诉我我做错了什么?

I have added a foreign key in TableX (y_id REFERENCING tableY id ON DELETE CASCADE). When I delete from TableX, the TableY id remains (while it theoritically should be deleted). I guess I have misunderstood how the ON DELETE CASCADE option works. Can anyone tell what I am doing wrong?

我也看到了这个ON DELETE CASCADE,但对我来说没有多大意义.

I saw this ON DELETE CASCADE as well but did not make much sense to me.

推荐答案

我猜你误会了.尝试删除 TableY 中的行,TableX 中的相应行将被级联删除.当您有次要相关表并希望通过从主表中删除父行来清理它们而不违反约束或留下垃圾时,此选项是必不可少的.

I guess you got misunderstanding. Try to delete row from TableY and corresponding rows from TableX will be cascade deleted. This option is indispensable when you have secondary related tables and would like to clean them all by deleting parent row from primary table without getting constraints violated or rubbish left.

这篇关于postgresql 关于删除级联的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆