组织修改保存报错: 违反唯一约束 XXXXX 已找到子记录
1、问题描述
组织修改保存报错: 违反唯一约束 XXXXX 已找到子记录
2、原因分析
二开表的约束绑定导致组织无法修改。
组织的表执行修改时,具体数据库执行的是 先delete原有记录,在 insert新增回去。
该约束存在,导致当二开表存在引用组织表的fid记录时,组织表记录无法删除,导致出现该报错问题出现。
3、解决方案
查询该约束,找二开同事确认并记录后删除该外键。
查询外键语句:
select a.owner, --主键拥有者 a.table_name, --主键表 b.column_name, --主键列 c.OWNER, --外键拥有者 c.table_name, --外键表 d.column_name, --外键列, a.constraint_name --约束名称 from user_constraints a left join user_cons_columns b on a.constraint_name=b.constraint_name left join user_constraints c on c.R_CONSTRAINT_NAME=a.constraint_name left join user_cons_columns d on c.constraint_name=d.constraint_name where 1=1 and a.constraint_type='R' --约束类型,R是外键,P是主键,U是唯一性约束 -- and a.table_name='T_B' --需要查看主外键关系的表 and a.constraint_name = 'FK_X' --约束名称 order by a.table_name
不同的数据库,删除外键语句不同。外键如果不删除,无法解决该报错问题。
oracle删除外键
alter table 表名 drop constraint 约束名
mysql删除外键
alter table 表名 drop foreign key 约束名字
组织修改保存报错: 违反唯一约束 XXXXX 已找到子记录
本文2024-09-22 20:01:34发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-110970.html