You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL外键设置报错:syntax error at or near 'delete' 求解

解决PostgreSQL外键创建的语法错误

你的错误源于外键约束定义中重复使用了ON DELETE关键字,PostgreSQL的外键语法要求分别通过ON DELETE和ON UPDATE两个子句来定义主表记录被删除或更新时的联动动作,不能重复书写ON DELETE。

修正后的表2创建语句

CREATE TABLE public.pravinyam_usermaster
(
    userid Text,
    password Text,
    role user_role,
    user_group Text,
    FOREIGN KEY (user_group) 
        REFERENCES public.group_master(user_group)
            ON DELETE CASCADE ON UPDATE CASCADE
);

补充说明

  • ON DELETE CASCADE:当主表group_master中的user_group记录被删除时,子表pravinyam_usermaster中对应的关联记录会被自动删除
  • ON UPDATE CASCADE:当主表的user_group值被更新时,子表中对应的user_group值会同步更新;如果不需要更新联动,可以去掉ON UPDATE CASCADE子句(默认行为是ON UPDATE NO ACTION,即主表更新时如果子表有关联记录则会阻止更新)

内容的提问来源于stack exchange,提问作者suhel shaikh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 14:42:28