openlang

给现有的约束添加级联删除功能

SQL 修改现有约束

这是我已有的一个约束

CONSTRAINT CURRENTPLAN_FK FOREIGN KEY(CurrentPlanCode) REFERENCES PLAN(CurrentPlanCode),

我想加入

ON DELETE CASCADE

到这个约束中。

怎样修改现有的 CURRENTPLAN_FK 约束,把

ON DELETE CASCADE

加入 CURRENTPLAN_FK

假设 CURRENTPLAN_FK 属于 CURRENTPLAN 表

从英语翻译查看原文

后续讨论 2

顺着彼此的依据读下去
  1. 固定链接

    不行。现有约束不能直接进行修改,可行的办法是先删除它,再重新创建

    ALTER TABLE [TARGETTABLE] DROP CONSTRAINT [KEYNAME]

    外键约束

    Alter Table FirstTable Add Constraint [KEYNAME]
    Foreign Key (Field) References SecondTable (Field) On Update Cascade On Delete Cascade

    主键约束

    Alter Table Target add constraint [Main Key]
    Primary key(Field1,Field2,.....)
    从英语翻译查看原文
  2. 固定链接

    约束无法修改,但可以先删除,再创建新的约束。

    看看这里

    ALTER TABLE target_table
    DROP CONSTRAINT CURRENTPLAN_FK;

    然后像这样用 ON DELETE CASCADE 重新创建

    ALTER TABLE target_table ADD CONSTRAINT CURRENTPLAN_FK
    FOREIGN KEY(CurrentPlanCode) REFERENCES PLAN(CurrentPlanCode)
    ON DELETE CASCADE;

    希望能帮上忙

    从英语翻译查看原文

同一个问题的其他角度

  1. SQL 派生表中无法访问的字段

    我正在执行下面这条 SQL 语句。 它给出了下面的错误。 #1054 - Unknown column 'shipping.post_id' in 'on clause'. 代码看起来很简单,可就是无法正常工作。我哪里写错了?

    回复 2最近活动 sql
  2. 检查 D 数组中是否有匹配项

    关联数组可以这样写 普通数组要怎样做? 我想写一个验证表达式,比如下面这样

    回复 2最近活动 d
  3. 在 PostgreSQL 9+ 中安全删除可能不存在的列

    我想删除表中的一列。怎样确定这一列是否存在? 我看了 https://www.postgresql.org/docs/9.2/static/sql-altertable.html, 这页手册,但没有找到说明这种操作的例子。 还找到了检查 SQL Se…

    回复 2最近活动 sql