【发布时间】:2020-09-26 15:24:45
【问题描述】:
我有两张桌子,table1,table2。 Table2 使用外键连接到 table1。 我想从 table1 中删除一行,而不会丢失 table2 中的数据。 怎么解决,我尝试了一个消除主键或外键约束的触发器,但是报错说我要删除的表不存在!!
【问题讨论】:
-
在此处查看文档:postgresql.org/docs/12/sql-createtable.html。寻找外键部分。您可能正在寻找 ON DELETE SET NULL。这将保留子行(表 2),但外键列设置为 NULL。
-
我不想在引用的表上设置 null,我希望保留原始值,尽管我正在删除它所引用的元组
-
那么你不能有外键。您需要自己维护这种关系。
标签: sql postgresql