小编met*_*dos的帖子

PostgreSQL 中 pg_class 上的 ON DELETE CASCADE 不起作用

我在我的表上添加了一个引用 pg_class 的外键。

ALTER TABLE summary_table 
ADD FOREIGN KEY (table_oid_column) REFERENCES pg_class (oid) ON DELETE CASCADE;
Run Code Online (Sandbox Code Playgroud)

我有一个汇总表,其中包含有关表及其关系 ID 的一些信息。当我删除一个表时,我想从我的汇总表中自动删除相关的行,所以我在上面添加了约束。但就我而言,当我放下一张桌子时,什么也没有发生。

我用测试表尝试过,当我从测试表中删除相关行时,它按预期工作。比如这个外键约束:

ALTER TABLE summary_table 
ADD FOREIGN KEY (table_oid_column) REFERENCES test (id) ON DELETE CASCADE;
Run Code Online (Sandbox Code Playgroud)

可能是什么问题?它是否与目录表(pg_class)或隐藏系统列(oid)有关?

postgresql

6
推荐指数
2
解决办法
2051
查看次数

4
推荐指数
1
解决办法
2060
查看次数

标签 统计

postgresql ×2

postgis ×1

spatial ×1