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
相关产品推荐
相关产品推荐

