假设我的应用程序有两个不同的表,其中一个引用另一个。还定义了一个删除级联?
我不想在删除级联约束时删除,但有时我想从我的本地删除忽略级联语句的内容,例如:
delete_without_cascade from table1 where id = id1
有什么办法吗
最佳答案
级联删除将删除父记录时删除子记录。如果您不想这样做,那么您必须对受 FK 约束约束的列中的值执行某些操作,因为数据库模式不应允许记录具有孤立值。如果该列允许 null
值,则在运行删除之前执行更新以将 FK 列值设置为 null
。
如果级联不存在,您通常会在执行 delete
语句时遇到错误,因为其他表中会有孤立的记录。
如果您不了解 Cascade on delete 的工作原理,它不会反向工作,即。删除引用父表的记录不会导致父记录被删除。
关于sql - 如何在没有级联的情况下从postgresql表中删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45740857/